什么是core文件:
core files which are images of user applications that are written when the
application terminates abnormally.
core文件生成的一些设置可以使用coreadm,具体的参数可参见:
http://docs.sun.com/app/docs/doc/816-5166/coreadm-1m?l=en &a=view&q=coreadm+
设定core文件生成的路径
coreadm -e global -g /yourpath/core.%f.%p
如何生成core文件:
手动生成core文件并指定生成的路径
gcore -o ./ 19406(在-o指定的目录生成core文件)
kill -n 6 26452(在coreadm命令指定的目录生成core文件)
(列出系统支持的signal
kill -l)
程序自己down掉(会生成两个dump,一个是在程序自己的启动目录,另一个是在coreadm命令指定的目录)
什么是crash文件:
crash文件就是系统在发生某种故障时,系统自己将当前memory的状态保存起来,然后在重启的过程中通过
savecore命令将memory状态保存到coreadm所指定的目录中去
crash文件生成的一些设置可以使用dumpadm,具体的参数可参见:
http://docs.sun.com/app/docs/doc/805-7229/6j6q8svi0?l=en &a=view
设定生成的路径
dumpadm -s /yourpath
如何生成crash文件:
不用重启生成系统dump文件
savecore -L
强制系统生成dump文件
reboot -d
例子:在我的系统上运行savecore -L,生成以下的文件:
$ ls -alh
total 2.1G
drwxr-xr-x 2 root root 5 Jul 9 14:55 .
drwxr-xr-x 3 root root 9 Jul 9 17:46 ..
-rw-r–r– 1 root root 2 Jul 9 14:55 bounds
-rw-r–r– 1 root root 1.8M Jul 9 14:54 unix.0
-rw-r–r– 1 root root 2.1G Jul 9 14:55 vmcore.0
有关savecore的一些注解:
( Live system crash dumps can only be performed if you have configured
your system to have a dedicated dump device using dumpadm (1M).
savecore -L does not suspend the system, so the contents of memory continue to
change while the dump is saved. This means that live crash dumps are not
fully self-consistent .)
savecore refs:
http://docs.sun.com/app/docs/doc/816-5166/savecore-1m?l=en &a=view&q=savecore+
总结性的参考:
http://developers.sun.com/solaris/articles/manage_core_dump.html