1. 使用 iptraf
我們提供的服務(wù)有:成都網(wǎng)站設(shè)計、做網(wǎng)站、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認證、吳堡ssl等。為近千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的吳堡網(wǎng)站制作公司
iptraf是一個實時查看網(wǎng)絡(luò)流量的文本屏幕界面工具。
如果系統(tǒng)沒有安裝
如果是 RHEL,那么就去找安裝盤中的 iptraf*.rpm 包安裝;
如果是 CentOS,那么用 yum install -y iptraf 進行安裝
iptraf是一個文本全屏幕界面,操作起來比較簡單明了。最好使用 putty 來看,SecureCRT可能顯示亂碼。
它提供了很多統(tǒng)計方式:
(1)IP traffic monitor
(2)General interface statistics
(3)Detailed interface statistics
如果跟上 -B 參數(shù),還可以后臺執(zhí)行,把數(shù)據(jù)保存到文件中,位于 /var/log/iptraf 目錄。
2. sar
如果系統(tǒng)沒有安裝,
如果是 RHEL,那么就去安裝盤中找 sysstat*.rpm 包安裝;
如果是 CentOS,那么用 yum install -y sysstat 安裝。
sysstat是一個工具包,包含有幾個很有用的系統(tǒng)檢測程序,iostat,mpstat和sar.
Turbolinux的各個版本上,都包含這個工具包.
iostat用于輸出CPU,I/O系統(tǒng)和磁盤分區(qū)的統(tǒng)計信息.可以用來分析磁盤I/O,帶寬等信息.
mpstat用于輸出CPU的各種統(tǒng)計信息. 可以用來分析程序運行時在內(nèi)核態(tài)和用戶態(tài)的工作情況.
sar用于定時搜集系統(tǒng)的各種狀態(tài)信息.然后可以對系統(tǒng)各個時間點的狀態(tài)進行監(jiān)控.
sar有很多用途,如果要來監(jiān)控網(wǎng)絡(luò)流量,使用下面的命令行方式:
sar -n DEV interval count
其中,interval是統(tǒng)計時間間隔,以秒為單位;count是總共統(tǒng)計幾次,如果為0就不斷的統(tǒng)計直到 Ctrl+C 打斷,否則執(zhí)行count次就退出。
比如:sar -n DEV 1 4
比如:sar -n DEV 10 0
IFACE:LAN接口
rxpck/s:每秒鐘接收的數(shù)據(jù)包
txpck/s:每秒鐘發(fā)送的數(shù)據(jù)包
rxbyt/s:每秒鐘接收的字節(jié)數(shù)
txbyt/s:每秒鐘發(fā)送的字節(jié)數(shù)
本文介紹了一些可以用來監(jiān)控網(wǎng)絡(luò)使用情況的Linux命令行工具。這些工具可以監(jiān)控通過網(wǎng)絡(luò)接口傳輸?shù)臄?shù)據(jù),并測量目前哪些數(shù)據(jù)所傳輸?shù)乃俣取H胝玖髁亢统稣玖髁糠珠_來顯示。
一些命令可以顯示單個進程所使用的帶寬。這樣一來,用戶很容易發(fā)現(xiàn)過度使用網(wǎng)絡(luò)帶寬的某個進程。
這些工具使用不同的機制來制作流量報告。nload等一些工具可以讀取"proc/net/dev"文件,以獲得流量統(tǒng)計信息;而一些工具使用pcap庫來捕獲所有數(shù)據(jù)包,然后計算總數(shù)據(jù)量,從而估計流量負載。
下面是按功能劃分的命令名稱。
監(jiān)控總體帶寬使用――nload、bmon、slurm、bwm-ng、cbm、speedometer和netload
監(jiān)控總體帶寬使用(批量式輸出)――vnstat、ifstat、dstat和collectl
每個套接字連接的帶寬使用――iftop、iptraf、tcptrack、pktstat、netwatch和trafshow
每個進程的帶寬使用――nethogs
參考:
在類Unix系統(tǒng)中可以使用top查看系統(tǒng)資源、進程、內(nèi)存占用等信息。查看網(wǎng)絡(luò)狀態(tài)可以使用netstat、nmap等工具。若要查看實時的網(wǎng)絡(luò)流量,監(jiān)控TCP/IP連接等,則可以使用iftop。
iftop類似于top的實時流量監(jiān)控工具,可以用來監(jiān)控網(wǎng)卡的實時流量(可以指定網(wǎng)段)、反向解析IP、顯示端口信息等。
查看流量是從哪些端口發(fā)送出去的:
# iftop -P
-P 選項會在iftop 的輸出結(jié)果中開啟端口顯示
界面上面顯示的是類似刻度尺的刻度范圍,為顯示流量圖形的長條作標(biāo)尺用的。
中間的= =這兩個左右箭頭,表示的是流量的方向。
TX:發(fā)送流量
RX:接收流量
TOTAL:總流量
Cumm:運行iftop到目前時間的總流量
peak:流量峰值
rates:分別表示過去 2s 10s 40s 的平均流量
要找到運行在該端口的進程,那么可以用netstat 或者lsof 來找到相應(yīng)的進程。
使用netstat 命令來找到運行在10910這個端口上的進程:
# netstat -tunp | grep 10910
可以使用lsof 命令來找到運行在10909這個端口上的進程:
# lsof -i:10909
查看進程PID為51919的應(yīng)用程序:
# ps -ef |grep 51919
nethogs: 按進程查看流量占用
iptraf: 按連接/端口查看流量
ifstat: 按設(shè)備查看流量
ethtool: 診斷工具
tcpdump: 抓包工具
ss: 連接查看工具
? nethogs: 按進程查看流量占用
? iptraf: 按連接/端口查看流量
? ifstat: 按設(shè)備查看流量
? ethtool: 診斷工具
? tcpdump: 抓包工具希賽里有很多這方面資料的。
1. sar
每兩秒刷新一次, 總共5次
[root@dbhost01 ~]# sar 2 5
Linux 2.6.32-504.el6.x86_64 (dbhost01) 03/30/2018 _x86_64_ (4 CPU)
02:53:15 PM CPU %user %nice %system %iowait %steal %idle
02:53:17 PM all 0.66 0.00 1.72 0.66 0.00 96.96
02:53:19 PM all 1.34 0.00 3.35 0.80 0.00 94.51
02:53:21 PM all 0.79 0.00 1.59 1.45 0.00 96.17
02:53:23 PM all 0.40 0.00 2.00 0.80 0.00 96.80
02:53:25 PM all 0.66 0.00 1.85 0.79 0.00 96.70
Average: all 0.77 0.00 2.10 0.90 0.00 96.23
2. top
top -a 按照內(nèi)存降序
[root@dbhost01 ~]# top -a
top - 15:00:54 up 6:04, 1 user, load average: 0.31, 0.19, 0.11
Tasks: 306 total, 1 running, 305 sleeping, 0 stopped, 0 zombie
Cpu(s): 7.8%us, 2.4%sy, 0.0%ni, 88.9%id, 0.8%wa, 0.0%hi, 0.1%si, 0.0%st
Mem: 4048972k total, 3848576k used, 200396k free, 134844k buffers
Swap: 4194300k total, 1788k used, 4192512k free, 1835360k cached
3. vmstat
vmstat用于顯示虛擬內(nèi)存,內(nèi)核線程,磁盤,系統(tǒng)進程, CPU活動等統(tǒng)計信息。
需要安裝sysstat工具。
[root@dbhost01 ~]# vmstat
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
2 0 1788 202508 135064 1835920 0 0 32 26 96 276 1 2 95 1 0
[root@dbhost01 ~]#
[root@dbhost01 ~]# vmstat 2 5
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 1788 202336 135068 1836000 0 0 32 26 97 276 1 2 95 1 0
0 0 1788 202624 135068 1836000 0 0 25 29 4012 6682 0 1 98 1 0
0 0 1788 202624 135072 1836004 0 0 57 87 4003 6685 0 1 98 1 0
1 0 1788 202508 135072 1836004 0 0 57 33 4402 7353 1 1 98 0 0
0 0 1788 202540 135076 1836004 0 0 33 47 4002 6674 0 1 98 1 0
4. lsof(list open files)
[root@dbhost01 ~]# lsof | grep 1521
certmonge 2348 root 16r FIFO 0,8 0t0 15212 pipe
certmonge 2348 root 18r FIFO 0,8 0t0 15218 pipe
gipcd.bin 2754 grid 109u unix 0xffff880139152180 0t0 36936 socket
5. tcpdump
tcpdump -i eth1
15:24:28.777779 IP dbhost01.ssh 192.168.2.82.50990: Flags [P.], seq 393080:393596, ack 105, win 148, options [nop,nop,TS val 22996360 ecr 2443327], length 516
15:24:28.777809 IP dbhost01.ssh 192.168.2.82.50990: Flags [P.], seq 393080:393596, ack 105, win 148, options [nop,nop,TS val 22996360 ecr 2443327], length 516
15:24:28.778976 IP dbhost01.ssh 192.168.2.82.50990: Flags [P.], seq 393596:393968, ack 105, win 148, options [nop,nop,TS val 22996361 ecr 2443327], length 372
15:24:28.779011 IP dbhost01.ssh 192.168.2.82.50990: Flags [P.], seq 393596:393968, ack 105, win 148, options [nop,nop,TS val 22996361 ecr 2443327], length 372
15:24:28.779013 IP 192.168.2.82.50990 dbhost01.ssh: Flags [.], ack 393968, win 16652, options [nop,nop,TS val 2443327 ecr 22996360], length 0
15:24:28.779481 IP dbhost02-priv.23602 dbhost01-priv.24271: UDP, length 556
15:24:28.779585 IP dbhost01-priv.24271 dbhost02-priv.23602: UDP, length 80
15:24:28.779909 IP dbhost01-priv.24271 dbhost02-priv.23602: UDP, length 80
15:24:28.780584 IP dbhost01.ssh 192.168.2.82.50990: Flags [P.], seq 393968:394724, ack 105, win 148, options [nop,nop,TS val 22996362 ecr 2443327], length 756
15:24:28.780590 IP dbhost01.ssh 192.168.2.82.50990: Flags [P.], seq 393968:394724, ack 105, win 148, options [nop,nop,TS val 22996362 ecr 2443327], length 756
15:24:28.780820 IP dbhost01-priv.24271 dbhost02-priv.23602: UDP, length 556
15:24:28.782232 IP dbhost01.ssh 192.168.2.82.50990: Flags [P.], seq 394724:395176, ack 105, win 148, options [nop,nop,TS val 22996364 ecr 2443327], length 452
15:24:28.782235 IP dbhost01.ssh 192.168.2.82.50990: Flags [P.], seq 394724:395176, ack 105, win 148, options [nop,nop,TS val 22996364 ecr 2443327], length 452
6.netstat
[root@dbhost01 ~]# netstat -a | grep oracle
unix 2 [ ACC ] STREAM LISTENING 31861 /var/tmp/.oracle/ora_gipc_sdbhost01gridmyracdb-clusterCRFM_SIPC
unix 2 [ ACC ] STREAM LISTENING 33820 /var/tmp/.oracle/sdbhost01DBG_LOGD
unix 2 [ ACC ] STREAM LISTENING 41177 /var/tmp/.oracle/sdbhost01DBG_EVMD
unix 2 [ ACC ] STREAM LISTENING 65106 /var/tmp/.oracle/sAevm
unix 2 [ ACC ] STREAM LISTENING 65108 /var/tmp/.oracle/sSYSTEM.evm.acceptor.auth
7. htop
需要安裝
8. iostat
Total DISK READ: 91.48 K/s | Total DISK WRITE: 45.27 K/s
TID PRIO USER DISK READ DISK WRITE SWAPIN IO COMMAND
4071 be/4 oracle 30.18 K/s 0.00 B/s 0.00 % 4.69 % ora_lmon_orcl1
4117 be/4 oracle 60.36 K/s 15.09 K/s 0.00 % 3.69 % ora_ckpt_orcl1
2989 rt/4 grid 965.71 B/s 0.00 B/s 0.00 % 2.13 % ocssd.bin
4099 be/4 oracle 0.00 B/s 30.18 K/s 0.00 % 0.07 % ora_ckpt_test
2987 rt/4 grid 0.00 B/s 482.86 B/s 0.00 % 0.03 % ocssd.bin
2979 rt/3 root 0.00 B/s 3.77 K/s 0.00 % 0.00 % ologgerd -M -d /g01/grid/app/11.2.0/grid/crf/db/dbhost01
2980 rt/3 root 0.00 B/s 15.09 K/s 0.00 % 0.00 % ologgerd -M -d /g01/grid/app/11.2.0/grid/crf/db/dbhost01
9. iftop(流量監(jiān)控工具)