幾個(gè)線上問題追查的常用命令 | 1分鐘系列
1分鐘系列,希望大家能有收獲。
如何看查占用cpu最多的進(jìn)程?
方法一:
核心指令:
- ps
實(shí)際命令:
- ps H -eo pid,pcpu | sort -nk2 | tail
執(zhí)行效果如下:
- [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
結(jié)果:瞧見了吧,最耗cpu的pid=30914。
畫外音:實(shí)際上是31396。
方法二:
核心指令:
- top
實(shí)際命令:
- top
- Shift + t
找到了最耗CPU的進(jìn)程ID,對(duì)應(yīng)的服務(wù)名是什么呢?
方法一:
核心指令:
- ps
實(shí)際命令:
- ps aux | fgrep pid
執(zhí)行效果如下:
- [work@test01 ~]$ ps aux | fgrep 30914
- work 30914 1.0 0.8 309568 71668 ? Sl Feb02 124:44 ./router2 –conf=rs.conf
結(jié)果:瞧見了吧,進(jìn)程是./router2
方法二:
直接查proc即可。
實(shí)際命令:
- ll /proc/pid
執(zhí)行效果如下:
- [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
畫外音:這個(gè)好,全路徑都出來了。
如何查看某個(gè)端口的連接情況?
方法一:
核心指令:
- netstat
實(shí)際命令:
- netstat -lap | fgrep port
執(zhí)行效果如下:
- [work@test01 ~]$ netstat -lap | fgrep 22022
- tcp 0 0 10.58.xxx.29:22022 *:* LISTEN 31396/imui
- tcp 0 0 10.58.xxx.29:22022 10.58.xxx.29:46642 ESTABLISHED 31396/imui
- tcp 0 0 10.58.xxx.29:22022 10.58.xxx.29:46640 ESTABLISHED 31396/imui
方法二:
核心指令:
- lsof
實(shí)際命令:
- lsof -i :port
執(zhí)行效果如下:
- [work@test01 ~]$ /usr/sbin/lsof -i :22022
- COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
- router 30904 work 50u IPv4 69065770 TCP 10.58.xxx.29:46638->10.58.xxx.29:22022 (ESTABLISHED)
- router 30904 work 51u IPv4 69065772 TCP 10.58.xxx.29:46639->10.58.xxx.29:22022 (ESTABLISHED)
- router 30904 work 52u IPv4 69065774 TCP 10.58.xxx.29:46640->10.58.xxx.29:22022 (ESTABLISHED)
希望這1分鐘對(duì)大家追查線上問題有幫助。