服务器 cpu资源占用高,服务器CPU负载过高,如何定位问题

top:Linux 命令。可以实时查看各个进程的 CPU 使用情况。也可以查看最近一段时间的 CPU 使用情况。默认按 CPU 使用率排序。

ps:Linux 命令。强大的进程状态监控命令。可以查看进程以及进程中线程的当前 CPU 使用情况。属于当前状态的采样数据。

jstack:Java 提供的命令。可以查看某个进程的当前线程栈运行情况。根据这个命令的输出可以定位某个进程的所有线程的当前运行状态、运行代码,以及是否死锁等等。

pstack:Linux 命令。可以查看某个进程的当前线程栈运行情况。


1.使用top命令找出CPU占比最高的
2.使用ps -ef或者jps进一步定位 示例:jps -l 或 ps -ef | grep java|grep -v grep
3.定位到具体线程或者代码
ps -mp 进程 -o THREAD,tid,time
-m 显示所有的线程
-p pid进程使用cpu的时间
-o 该参数后是用户自定义格式
4.将需要的线程ID转换为16进制格式(英文小写格式) printf “%x\n” 有问题的线程ID
5.jstack 进程ID | grep tid(16进制线程ID小写英文) -A60


 

linux如何查看进程

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章