前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CPU爆了,你却连那个线程出问题都不知道?

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

作者头像
架构师之路
发布2023-01-07 12:00:54
3540
发布2023-01-07 12:00:54
举报
文章被收录于专栏:架构师之路架构师之路

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)

学废了吗?

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2023-01-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 架构师之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档