網絡卡流量監控、檢視程序
阿新 • • 發佈:2019-03-03
監控網絡卡流量
sar命令
- sar命令是Linux系統中特別強大的一個命令,通過 sar 命令可以全面的獲取系統的 CPU、執行佇列、磁碟 I/O、交換區、記憶體、 cpu 中斷、網路等效能資料。
- sar命令和iostat命令都是由systat安裝包安裝的
sar 命令列的常用格式:
-
sar [options] [-A] [-o file] t [n] 在命令列中, n 和 t 兩個引數組合起來定義取樣間隔和次數, t 為取樣間隔, 是必須有的引數, n 為取樣次數,是可選的,預設值是 1, -o file 表示將命令結果以二進位制格式存放在檔案中, file 在此處不是關鍵字,是檔名。 options 為命令列選項:
-
-A:所有報告的總和。
-
-u: CPU 利用率
-
-v:程序、節點、檔案和鎖表狀態。
-
-p:像是當前系統中指定 CPU 使用資訊。
-
-d:硬碟使用報告。
-
-r:顯示系統記憶體的使用情況。
-
-n: 顯示網路執行狀態。 引數後面可跟 DEV、 EDEV、 SOCK 和 FULL。 DEV 顯示網路介面資訊, EDEV 顯示網路錯誤的統計資料, SOCK 顯示套接字資訊, FULL 顯示前三引數所有資訊。
-
-q:顯示執行佇列的大小,它與系統當時的平均負載相同
-
-B:記憶體分頁情況
-
-R:顯示程序在取樣時間內的活動情況。
-
-g:串列埠 I/O 的情況。
-
-b:緩衝區使用情況。
-
-a:檔案讀寫情況。
-
-c:系統呼叫情況。
-
-R:程序的活動情況。
-
-y:終端裝置活動情況。
-
-W:系統交換活動。
使用sar命令來檢視網絡卡流量情況,下面這個情況是檢視網絡卡流量情況,一秒讀取一次,一共讀取2次。
[root@localhost ~]# sar -n DEV 1 2 Linux 3.10.0-957.el7.x86_64 (localhost.localdomain) 03/02/2019 _x86_64_ (4 CPU) 01:41:13 AM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s 01:41:14 AM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 01:41:14 AM ens33 0.00 0.00 0.00 0.00 0.00 0.00 0.00 01:41:14 AM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s 01:41:15 AM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 01:41:15 AM ens33 0.99 1.98 0.06 0.48 0.00 0.00 0.00 Average: IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s Average: lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 Average: ens33 0.50 0.99 0.03 0.24 0.00 0.00 0.00
- 上面的輸出結果中,IFACE 是網絡卡名字;
- rxpck/s是網絡卡每秒接收資料包的數量;
- txpck/s是網絡卡每秒傳送資料包的數量;
- rxkB/s是網絡卡每秒接收資料的大小;
- txkB/s是網絡卡每秒傳送資料的大小;
- 其餘內容不用太關注。
nload命令
- nload命令是動態檢視網絡卡流量情況。
- nload安裝包是由擴充套件源提供的,需要先安裝擴充套件源,yum install -y epel-release 然後再安裝yum install nload -y
- 直接執行nload就可以檢視網絡卡流量,按上下箭頭可以切換不同的網絡卡。
- 或者使用nload eth0這樣檢視指定網絡卡流量。
ethtool 和 mii-tool 命令
- ethtool eth0 這個命令可以檢視網絡卡的資訊,以及有沒有網線連線。
- mii-tool eth0 可以檢視網口有沒有網線連線
[root@localhost ~]# ethtool ens33
Settings for ens33:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supported pause frame use: No
Supports auto-negotiation: Yes
Supported FEC modes: Not reported
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Advertised pause frame use: No
Advertised auto-negotiation: Yes
Advertised FEC modes: Not reported
Speed: 1000Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 0
Transceiver: internal
Auto-negotiation: on
MDI-X: off (auto)
Supports Wake-on: d
Wake-on: d
Current message level: 0x00000007 (7)
drv probe link
Link detected: yes
[root@localhost ~]# mii-tool ens33
ens33: negotiated 1000baseT-FD flow-control, link ok
檢視程序
ps命令
- 直接執行ps命令是檢視當前終端下的程序
[root@localhost ~]# ps
PID TTY TIME CMD
9941 pts/0 00:00:00 bash
10128 pts/0 00:00:00 ps
- ps -aux 可以檢視系統中所有使用者的程序
[root@localhost ~]# ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.1 0.1 125416 3916 ? Ss 01:24 0:07 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
root 2 0.0 0.0 0 0 ? S 01:24 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? S 01:24 0:00 [ksoftirqd/0]
root 5 0.0 0.0 0 0 ? S< 01:24 0:00 [kworker/0:0H]
root 6 0.0 0.0 0 0 ? S 01:24 0:02 [kworker/u256:0]
root 7 0.0 0.0 0 0 ? S 01:24 0:01 [migration/0]
root 8 0.0 0.0 0 0 ? S 01:24 0:00 [rcu_bh]
root 9 0.0 0.0 0 0 ? S 01:24 0:06 [rcu_sched]
root 10 0.0 0.0 0 0 ? S< 01:24 0:00 [lru-add-drain]
- 輸出結果:
- USER 使用者
- PID 程序號
- %CPU CPU使用率
- %MEM記憶體使用率
- VSZ虛擬記憶體大小
- RSS實體記憶體大小
- TTY ,顯示?的tty都是後臺執行的。
- STAT:程序狀態
- START,程序啟動的時間
- TIME 程序空閒的時間
- COMMAND 對應的指令
- 上面輸出的結果中的STAT一列顯示的內容有:
- S Sleep
- R Running
- s 父程序
- N 低優先順序
- < 高優先順序
- +前臺程序
- l 多執行緒程序
- Z 殭屍程序
- ps -elf 跟aux類似,也是檢視系統中所有的程序
[root@localhost ~]# ps -elf
F S UID PID PPID C PRI NI ADDR SZ WCHAN STIME TTY TIME CMD
4 S root 1 0 0 80 0 - 31354 ep_pol 01:24 ? 00:00:07 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
1 S root 2 0 0 80 0 - 0 kthrea 01:24 ? 00:00:00 [kthreadd]
1 S root 3 2 0 80 0 - 0 smpboo 01:24 ? 00:00:00 [ksoftirqd/0]
1 S root 5 2 0 60 -20 - 0 worker 01:24 ? 00:00:00 [kworker/0:0H]
1 S root 6 2 0 80 0 - 0 worker 01:24 ? 00:00:02 [kworker/u256:0]
1 S root 7 2 0 -40 - - 0 smpboo 01:24 ? 00:00:01 [migration/0]
1 S root 8 2 0 80 0 - 0 rcu_gp 01:24 ? 00:00:00 [rcu_bh]
1 S root 9 2 0 80 0 - 0 rcu_gp 01:24 ? 00:00:06 [rcu_sched]
1 S root 10 2 0 60 -20 - 0 rescue 01:24 ? 00:00:00 [lru-add-drain]
- ps -eLf 檢視執行緒
[root@localhost ~]# ps -eLf
UID PID PPID LWP C NLWP STIME TTY TIME CMD
root 1 0 1 0 1 01:24 ? 00:00:07 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
root 2 0 2 0 1 01:24 ? 00:00:00 [kthreadd]
root 3 2 3 0 1 01:24 ? 00:00:00 [ksoftirqd/0]
root 5 2 5 0 1 01:24 ? 00:00:00 [kworker/0:0H]
root 6 2 6 0 1 01:24 ? 00:00:02 [kworker/u256:0]
root 7 2 7 0 1 01:24 ? 00:00:01 [migration/0]
root 8 2 8 0 1 01:24 ? 00:00:00 [rcu_bh]
root 9 2 9 0 1 01:24 ? 00:00:06 [rcu_sched]
root 10 2 10 0 1 01:24 ? 00:00:00 [lru-add-drain]
- ls /proc/pid 可以檢視一個程序的