- 查看整個系統的網卡流量使用情況
- 監控具體的某個進程所消耗的流程
首先,Linux沒有自帶這樣的工具,通過這款第三方開源工具,也是比較好用,如果有其他的辦法歡迎留言
# yum -y install nethogs
PID USER PROGRAM DEV SENT RECEIVED
3052 root sshd: root@pts/0 ens32 50.203 1.239 KB/sec
12095 root curl ens32 0.093 0.611 KB/sec
12093 root curl ens32 0.093 0.611 KB/sec
TOTAL 59.390 62.250 KB/sec
這是我在后台執行了一個循環使用while結合curl,最下面的是總流量,上面是各個進程的pid
隨之,我又在后台執行一個ping,應該也是有流量,但是並沒有新的進程產生
NetHogs version 0.8.5
PID USER PROGRAM DEV SENT RECEIVED
3052 root sshd: root@pts/0 ens32 0.196 0.070 KB/sec
? root unknown TCP 0.000 0.000 KB/sec
TOTAL 0.196 0.070 KB/sec
根據理論推測,他應該是運行在root@pts/0 這個終端下的一個子進程或者是一個任務,查看了下原因
[root@localhost ~]# pstree
├─sshd─┬─sshd───bash───nethogs
│ ├─sshd───bash───ping
│ └─sshd───bash───pstree
是因為我是ssh連接到遠程主機的,所以按照進程數來看,sshd才是真正的進程,而ping只是在sshd下的bash里執行了一個ping,所以沒有顯現出來