CPU爆了,你却连那个线程出问题都不知道?

Posted 58沈剑

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CPU爆了,你却连那个线程出问题都不知道?相关的知识,希望对你有一定的参考价值。

1分钟系列,定位线上性能问题常用,希望大家能有收获。

如何看查占用cpu最多的进程?

方法一

核心指令:ps

实际命令

ps H -eo pid,pcpu | sort -nk2 | tail

执行效果如下:

[work@test01 ~]$ ps H -eo pid,pcpu | sort -nk2 | tail

31396  0.6

31396  0.6

31396  0.6

31396  0.6

31396  0.6

31396  0.6

31396  0.6

31396  0.6

30904  1.0

30914  1.0

结果

瞧见了吧,最耗cpu的pid=30914。

画外音:实际上是31396。

方法二

核心指令:top

实际命令

top

Shift + t

找到了最耗CPU的进程ID,对应的服务名是什么呢?

方法一

核心指令:ps

实际命令

ps aux | fgrep pid

执行效果如下:

[work@test01 ~]$ ps aux | fgrep 30914

work 30914  1.0  0.8 309568 71668 ?  Sl   Feb02 124:44 ./router2 –conf=rs.conf

结果

瞧见了吧,进程是./router2

方法二

直接查proc即可。

实际命令

ll /proc/pid

执行效果如下:

[work@test01 ~]$ ll /proc/30914

lrwxrwxrwx  1 work work 0 Feb 10 13:27 cwd -> /home/work/im-env/router2

lrwxrwxrwx  1 work work 0 Feb 10 13:27 exe -> /home/work/im-env/router2/router2

画外音:这个好,全路径都出来了。

如何查看某个端口的连接情况?

方法一

核心指令:netstat

实际命令

netstat -lap | fgrep port

执行效果如下:

[work@test01 ~]$ netstat -lap | fgrep 22022

tcp        0      0 1.2.3.4:22022          *:*                         LISTEN      31396/imui

tcp        0      0 1.2.3.4:22022          1.2.3.4:46642          ESTABLISHED 31396/imui

tcp        0      0 1.2.3.4:22022          1.2.3.4:46640          ESTABLISHED 31396/imui

方法二

核心指令:lsof

实际命令

lsof -i :port

执行效果如下:

[work@test01 ~]$ /usr/sbin/lsof -i :22022

COMMAND   PID USER   FD   TYPE   DEVICE SIZE NODE NAME

router  30904 work   50u  IPv4 69065770       TCP 1.2.3.4:46638->1.2.3.4:22022 (ESTABLISHED)

router  30904 work   51u  IPv4 69065772       TCP 1.2.3.4:46639->1.2.3.4:22022 (ESTABLISHED)

router  30904 work   52u  IPv4 69065774       TCP 1.2.3.4:46640->1.2.3.4:22022 (ESTABLISHED)

学废了吗?

架构师之路-分享技术思路

相关文章:

线程数,射多少合适?

顶尖的人都是怎么想的!(很残酷)

以上是关于CPU爆了,你却连那个线程出问题都不知道?的主要内容,如果未能解决你的问题,请参考以下文章

你创不出伟大的事业,因为……

高情商的男生,是怎么陪女朋友逛街的? | 亲身经验分享

我一行代码都不写实现 Toolbar ! 你却还在这封装 BaseActivity ?

博士在读却连矩阵的秩都搞不清,我该如何毕业?|Reddit热议

云原生越来越火,你却还不知道 Serverless

java:找出占用CPU资源最多的那个线程(HOW TO)