Linux排查哪個(gè)進(jìn)程和IP在占用網(wǎng)速
Linux排查哪個(gè)進(jìn)程在占用網(wǎng)速
使用NetHogs定位哪個(gè)進(jìn)程在占用流量
# 安裝NetHogs。
yum install nethogs -y
nethogs常用參數(shù)
參數(shù) 解釋
-V : 打印版本。
-h : 打印此幫助。
-b : bughunt模式 – 暗示tracemode。
-d : 延遲更新刷新率(以秒為單位)。 默認(rèn)值為1。
-v : 視圖模式(0 = KB / s,1 =總KB,2 =總B,3 =總MB)。 默認(rèn)值為0。
-c : 更新次數(shù)。 默認(rèn)為0(無限制)。
-t : trace模式.
-p : 煽動(dòng)混亂模式(不推薦)。
-s : 按發(fā)送列排序輸出。
-a : 監(jiān)控所有設(shè)備,甚至環(huán)回/停止。
device : 要監(jiān)控的設(shè)備。 默認(rèn)是所有接口啟動(dòng)和運(yùn)行,不包括環(huán)回
當(dāng)nethogs運(yùn)行時(shí),按:
q:退出
s:按SENT流量排序
r:按RECEIVE流量排序
m:在總(KB,B,MB)和KB / s模式之間切換
查看進(jìn)程流量
# 執(zhí)行以下命令,查看占用內(nèi)網(wǎng)帶寬的進(jìn)程。
nethogs eth0
# 查詢間隔(-d)5秒
nethogs eth1 -d 5
顯示界面說明
在nethogs監(jiān)控界面,按s可以按照Sent列進(jìn)行排序,按r可以按照Received列進(jìn)行排序,按m可以切換不同的統(tǒng)計(jì)單位顯示,例如kb/s、kb、b、mb。監(jiān)控界面信息說明如下所示。
使用iftop定位哪個(gè)IP在占用流量
iftop基本用法
查看哪個(gè)連接占用流量最多
# 查看eth0哪個(gè)連接網(wǎng)絡(luò)流量最多
iftop -P
不解析域名,所有的網(wǎng)絡(luò)連接都以ip顯示
iftop -n
指定監(jiān)控網(wǎng)卡
# 不加i參數(shù)表示監(jiān)控所有網(wǎng)卡
iftop
# 指定網(wǎng)卡且不解析dns
iftop -n -i eth0
# 查看流量較高的是占用的端口(或服務(wù))
iftop -i eth0 -P
# -N查看流量較高的是占用的端口
iftop -i eth0 -P -N
定位端口占用的pid
# 使用fuser定位端口的pid
## -v 詳細(xì)輸出
## -n 在此名稱空間中搜索(文件、udp 或 tcp)
### -n tcp 在tcp中搜索
fuser -v -n tcp 3306
# 結(jié)束掉占用的pid
kill -s 9 pid
使用lsof定位端口的pid
lsof -i:端口號(hào)
[8a@localhost ~]$ sudo lsof -i:80
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
haproxy 9521 haproxy 9u IPv4 63613 0t0 TCP *:http (LISTEN)
## -n 不要將端口號(hào)轉(zhuǎn)換為端口名稱。
## -P 不解析主機(jī)名,顯示數(shù)字地址。
## -iTCP -sTCP:LISTEN -僅顯示TCP狀態(tài)為L(zhǎng)ISTEN的網(wǎng)絡(luò)文件
# 查看TCP22端口是哪個(gè)進(jìn)程占用
sudo lsof -nP -iTCP:22 -sTCP:LISTEN
# 查看監(jiān)聽的所有TCP端口
sudo lsof -nP -iTCP -sTCP:LISTEN
通過PID進(jìn)程號(hào)查找啟動(dòng)程序全路徑
ls -ail /proc/pid進(jìn)程號(hào)
cwd是該進(jìn)程的工作目錄
exe是啟程序的啟動(dòng)路徑
fd包含進(jìn)程打開文件的情況
結(jié)束進(jìn)程
# 停止進(jìn)程
kill -15 pid號(hào)
或
# 強(qiáng)制結(jié)束進(jìn)程
kill -9 pid號(hào)
日志分析
日志分析可以使用logwatch或awstats等工具進(jìn)行。