几个线上问题追查的常用命令 | 1分钟系列

1分钟系列,希望大家能有收获。

[[271550]]

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

方法一:

核心指令:

 
 
 
  1. ps 

实际命令:

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

执行效果如下:

 
 
 
  1. [work@test01 ~]$ ps H -eo pid,pcpu | sort -nk2 | tail 
  2. 31396  0.6 
  3. 31396  0.6 
  4. 31396  0.6 
  5. 31396  0.6 
  6. 31396  0.6 
  7. 31396  0.6 
  8. 31396  0.6 
  9. 31396  0.6 
  10. 30904  1.0 
  11. 30914  1.0 

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

画外音:实际上是31396。

方法二:

核心指令:

 
 
 
  1. top 

实际命令:

 
 
 
  1. top 
  2. Shift + t 

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

方法一:

核心指令:

 
 
 
  1. ps 

实际命令:

 
 
 
  1. ps aux | fgrep pid 

执行效果如下:

 
 
 
  1. [work@test01 ~]$ ps aux | fgrep 30914 
  2. work 30914  1.0  0.8 309568 71668 ?  Sl   Feb02 124:44 ./router2 –conf=rs.conf 

结果:瞧见了吧,进程是./router2

方法二:

直接查proc即可。

实际命令:

 
 
 
  1. ll /proc/pid 

执行效果如下:

 
 
 
  1. [work@test01 ~]$ ll /proc/30914 
  2. lrwxrwxrwx  1 work work 0 Feb 10 13:27 cwd -> /home/work/im-env/router2 
  3. lrwxrwxrwx  1 work work 0 Feb 10 13:27 exe -> /home/work/im-env/router2/router2 

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

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

方法一:

核心指令:

 
 
 
  1. netstat 

实际命令:

 
 
 
  1. netstat -lap | fgrep port 

执行效果如下:

 
 
 
  1. [work@test01 ~]$ netstat -lap | fgrep 22022 
  2. tcp        0      0 10.58.xxx.29:22022          *:*                         LISTEN      31396/imui 
  3. tcp        0      0 10.58.xxx.29:22022          10.58.xxx.29:46642          ESTABLISHED 31396/imui 
  4. tcp        0      0 10.58.xxx.29:22022          10.58.xxx.29:46640          ESTABLISHED 31396/imui 

方法二:

核心指令:

 
 
 
  1. lsof 

实际命令:

 
 
 
  1. lsof -i :port 

执行效果如下:

 
 
 
  1. [work@test01 ~]$ /usr/sbin/lsof -i :22022 
  2. COMMAND   PID USER   FD   TYPE   DEVICE SIZE NODE NAME 
  3. router  30904 work   50u  IPv4 69065770       TCP 10.58.xxx.29:46638->10.58.xxx.29:22022 (ESTABLISHED) 
  4. router  30904 work   51u  IPv4 69065772       TCP 10.58.xxx.29:46639->10.58.xxx.29:22022 (ESTABLISHED) 
  5. router  30904 work   52u  IPv4 69065774       TCP 10.58.xxx.29:46640->10.58.xxx.29:22022 (ESTABLISHED) 

希望这1分钟对大家追查线上问题有帮助。

THE END