
Q:在AIX系统中,经常会看到文件名为core的文件,这个文件有用处吗?如果有用,怎么使用?
A:当进程在异常终止运行时,系统会把该进程对应的地址空间中的数据写到core文件中(这个过程被称为dump),以便程序员对其进行分析,找出进程异常终止的原因。缺省情况下,异常终止的进程在启动它的当前目录下产生core文件。
在AIX 4.3.3中,所有的core文件的文件名都是core,如果不只一个程序产生dump或者相同的程序dump多次,它们都会产生相同文件名的core文件,那么就会丢失比较早的core文件。从AIX 5.1开始,改变了core文件的命名方法,使得每一个core文件拥有惟一的文件名,从而避免了新的core文件覆盖旧的core文件,这个特色更加有助于程序员调试和跟踪运行失败的程序。
默认情况下,一个core文件的文件名是core。要使用AIX 5L中core文件命名的新方法,就要把CORE_NAMING环境变量的值设置为yes。
在AIX 5L中,把当前用户的CORE_NAMING环境变量的值设置成yes之后,随后启动的进程产生的core文件名才能惟一的。新的core文件名的格式是core.pid.ddhhmmss。其中pid是进程号,dd是当前月份中的日子,hh表示小时,mm表示分,ss表示秒。
对于一个占用内存资源很大的进程产生的core文件也非常大,因此如果经常有进程产生core文件,而core文件名都不相同,那么产生的core就会占用非常多的文件系统空间,所以系统管理员要定期为程序员收集这些core文件,并删除这些文件。在AIX 5.3中,用户可以设置产生压缩的core文件和指定一个目录来保存core文件,用lscore命令查看当前用户或指定用户的core设置,例如:
$ lscore compression: off path specification: off corefile location: not set naming specification: off $
要查看peter用户的core设置,命令是lscore peter。查看整个系统的core设置,命令是lscore –d 用chcore命令修改当前用户的core设置,例如: $ chcore –c on –p on –l /tmp/coredir –n on
上面的命令修改当前用户的core设置,-c on参数的作用是打开压缩core文件功能,用户可以用uncompress命令来解压缩,-p on参数的作用是打开指定的core文件位置,保存core文件的目录是由-l参数指定为/tmp/coredir目录,-n on参数的作用相当于把CORE_NAMING环境变量值设置为yes。其中on表示打开这些功能,将on换成off表示关闭这些功能。
如果要修改指定用户的core设置,在上面的命令最后加上用户名,要修改整个系统的core设置,在上面的命令最后加上-d即可。其实每个用户的core设置保存在/etc/security/user文件中,chcore和lscore命令存取user文件的内容,读者可以参考user文件的内容用vi来设置某个用户的core设置。
| 关于我们 | 联系我们 | 广告服务 | 工作机会 | 版权声明 | 欢迎投稿 | 网站地图 |
| Copyright © 2000-2008 , www.21tx.com , All Rights Reserved . |
| © 晨新科技 版权所有 Created by TXSite.net |