当前位置: 首页 > 科技观察

CPU炸裂,却连哪个线程出问题都不知道?

时间:2023-03-14 10:26:23 科技观察

1分钟系列,常用来定位线上性能问题,希望大家有所收获。如何查看占用CPU最多的进程?方法一核心指令:ps实际指令:psH-eopid,pcpu|排序-nk2|tail执行效果如下:[work@test01~]$psH-eopid,pcpu|排序-nk2|tail313960.6313960.6313960.6313960.6313960.6313960.6313960.6313960.6309041.0309141.0结果:你看,最耗cpu的pid=30914。画外音:其实是31396方法二核心命令:top实际命令:topShift+t找到最耗CPU的进程ID。对应的服务名是什么?方法一核心命令:ps实际命令:psaux|fgreppid执行效果如下:[work@test01~]$psaux|fgrep30914work309141.00.830956871668?SLFeb02124:44./router2–conf=rs.conf结果:你看,进程就是./router2方法2直接查看proc就可以了。实际命令:ll/proc/pid执行效果如下:[work@test01~]$ll/proc/30914lrwxrwxrwx1workwork0Feb1013:27cwd->/home/work/im-env/router2lrwxrwxrwx1workwork0Feb1013:27exe->/home/work/im-env/router2/router2画外音:很好,完整路径出来了。如何查看某个端口的连接状态?方法一核心命令:netstat实际命令:netstat-lap|fgrepport执行效果如下:[work@test01~]$netstat-lap|fgrep22022tcp001.2.3.4:22022*:*收听31396/imuitcp001.2.3.4:220221.2.3.4:46642已建立31396/imuitcp001.2.3.4:220221.2.3.4:220221.2.3.4:46642核心命令:lsof实际命令:lsof-i:port执行效果如下:[work@test01~]$/usr/sbin/lsof-i:22022COMMANDPIDUSERFDTYPEDEVICESIZENODENAMErouter30904work50uIPv469065770TCP1.2.3.4:46638->1.2.3.4:22022(ESTABLISHED)904work3router51uIPv469065772TCP1.2.3.4:46639->1.2.3.4:22022(ESTABLISHED)路由器30904work52uIPv469065774.TCP-4:465774TCP->46639->1.2.3.4:22022.3.4:22022(ESTABLISHED)学习被放弃了吗?