进程core dump监控--coreCollector D

1.1 后台Core文件获取方法
Solaris环境Core文件收集方法:
1) 修改Coreadm配置参数。当某个进程发生coredump后,Solaris操作系统自动将core文件转储到指定路径。
请按如下范例步骤打开core文件转储开关:
root@BMS105 # coreadm -e global
root@BMS105 # coreadm -e global-setid
root@BMS105 # coreadm -e proc-setid
root@BMS105 # coreadm -e process  
root@BMS105 # coreadm -e log
root@BMS105 # coreadm -g /opt/corefiles/core.%f.%p
设置完成后,查看coreadm状态,当与以下内容一致时,表示配置成功
root@BMS105 # coreadm
    全局(主存储器)信息转储文件模式: /opt/corefiles/core.%f.%p
       初始(主存储器)信息转储文件模式: core
           全局(主存储器)信息转储: enabled
       每进程的(主存储器)信息转储: enabled
     全局 setid (主存储器)信息转储: enabled
每进程的 setid (主存储器)信息转储: enabled
    全局(主存储器)信息转储记录: enabled
2) 在/opt/corefiles中寻找相应的core文件,使用pstack和mdb命令将其转储为txt文件(一般core文件比较大,不易附在问题单中,因此需要将其转储为txt文档)
注:pstack与mdb的区别:
pstack 能看到全部堆栈信息; --定位多线程导致的死锁或异常很有用
mdb看到的是栈顶信息; --普通的错误用mdb来得更直接;
例一:使用pstack将UA5000G后台的core文件转储为txt文档
root@N2000Server106 # pwd
/opt/corefiles
root@N2000Server106 # pstack core.Ua5000GDm.2144.1159153487 >Ua5000GDm1.txt
root@N2000Server106 # ls
Ua5000GDm1.txt                          
core.Ua5000GDm.2144.1159153487

例二:使用mdb将UA5000G后台的core文件转储为txt文档
root@N2000Server106 # pwd
/opt/corefiles
root@N2000Server106 # mdb core.Ua5000GDm.2144.1159153487 >Ua5000GDm2.txt
root@N2000Server106 # ls
Ua5000GDm1.txt 
Ua5000GDm2.txt                          
core.Ua5000GDm.2144.1159153487
对于后台coredump问题,需要分别在问题单中附上pstack和mdb转储的txt文件,以便开发定位。

你可能感兴趣的:(多线程,F#,Solaris)