Linux教程

[linux] 记一次服务器cpu飙高

本文主要是介绍[linux] 记一次服务器cpu飙高,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

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 查看堆中存活对象

  1. 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

  2. dump jvm 线程栈
    命令格式:jstack pid > dump_file_name
    举例:dump pid 为 4738 的 java 进程的线程栈到 app_thread_dump.txt 文件
    jstack 4738 > app_thread_dump.txt

这篇关于[linux] 记一次服务器cpu飙高的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!