1、先通过top命令找到消耗cpu很高的进程id假设是24186,如果该进程是java进程的话,执行2~8步,否则找运维查看服务器状况
2、执行top -p 24186 单独监控该进程
3、在第2步的监控界面输入H,获取当前进程下的所有线程信息
以上确定是java 程序
sudo su tomcat
-
jps 查询 PID
-
jstat -gc pid
执行jmap -histo pid 查看堆中存活对象
-
dump jvm 内存
命令格式:jmap -dump:format=b,filie=ai-mem-dump.bin PID
举例:dump pid 为 4738 的 java 进程的内存到 ai_mem_dump.bin 文件
jmap -dump:format=b,filie=ai_mem_dump.bin 4738 -
dump jvm 线程栈
命令格式:jstack pid > dump_file_name
举例:dump pid 为 4738 的 java 进程的线程栈到 app_thread_dump.txt 文件
jstack 4738 > app_thread_dump.txt