top:查看当前系统负载、CPU使用、内存使用等状态信息,可以观察进程的CPU占用、IO占用、进程状态等
这里转载一个top详解:https://blog.csdn.net/xujiamin0022016/article/details/89072116
iotop:查看当前io使用,哪些进程在占用io资源,io过高时可使用它查找元凶
iostat:可以找到是哪个分区在进行大量的IO操作
pstack+pid:打印进程的堆栈信息,当进程异常时可短时间内多打几个,来分析堆栈;例如进程死锁、死循环等;顺带说一下,程序异常时,如果CPU打满,大概率时死循环,如果CPU极低,大概率为死锁
top -Hp pid:查看所有线程的CPU占用状态,当某个进程CPU过高时可以使用该命令+pstack 来分析
生成coredump文件
1、使用ulimit -c SIZE/unlimited命令开启coredump。其中SIZE表示coredump文件的大小限制,unlimited表示无限制
2、使用gcore命令生成coredump文件:gcore + pid
3、使用gdb调试core文件: gdb PROCESS_NAME core_file
GDB调试命令:https://blog.csdn.net/wang_long2016/article/details/115289147?spm=1001.2014.3001.5501