1. 程式人生 > >監控io性能、free、ps命令及netstat命令、抓包工具tcpdump,tshark

監控io性能、free、ps命令及netstat命令、抓包工具tcpdump,tshark

20180507

一、監控io性能
iostat -x 關註%util
iotop 查看哪一個進程在進行讀寫

二、free命令(查看內存使用)
-m
-h
-g
buff 緩沖(cpu處理完的數據 > 內存 (buff)> 磁盤)
cache 緩存(磁盤 >內存(cache) >cpu處理數據)
公式:total= used + free +buff/cache
avaliable包含free 和buffer/cache剩余部分
我的swap怎麽全是0

三、ps命令(查看系統進程)
ps aux 把系統所有的進程以快照形式全部列出來
ps aux |grep 進程名 (查看一個接定進程)

殺死一個進程:kill +pid

每一個進程都有一個目錄: ls -l /proc/(505)pid
STAT 部分說明(重點了解)
D :不能中斷的進程
R: run 狀態的進程
S: sleep 進程
T :暫停的進程(ctrl +z 暫停fg恢復)
Z: 僵屍進程
< :高優先級進程
N:低優先級進程
s (小s):主進程
l :多線程進程
+:前臺進程

四、netstat查看網絡狀態
netstat -lnp 查看監聽端口,
netstat -an 查看tcp/ip 狀態(擴展tcp/ip三次握手,四次揮手)
netstat -lntp 只看tcp的,不包含socket
ss -an 和netstat 相同用法
netstat -an |awk ‘/^tcp/ {++sta[$NF]} END {for(key in sta) print key,"\t",sta[key]}‘ 可以查看所有狀態

(如果ESTABLISHED 很大表示系統很忙,一般在1000以內)

五、linux下抓包(tcpdump)
tcpdump -nn 第一個n 表示ip用數字形式顯示出來,如果不加顯示主機名,
看的就是數據的流向
一般是tcp,如果看到udp的包就有可能被攻擊了。(DDOS udp flood 洪水攻擊,如果遇到這個只能接入專業的防攻擊設備(創宇公司做的不錯?)
tcpdump -nn prot 80 指定只抓80端口
tcpdump -nn -i eth0 no port 80 除了80端口
cpdump -i eth0-nn prot 80 and host 192.168.1.100 只抓ip192.168.1.100的80端口的包

cpdump -nn -i eth0 -c 1001 -w /tmp/1.cap 只抓100 個包並存在/tmp目錄下
用file 1.cap 大概在內容,不可以用cat打開

如果要查看要用 tcpdump -r 1.cap

2、tshark 抓包工具
1?安裝:yum install -y wireshark
2、tshark -n -t a -R http.request -T fields -e "frame.time" -e "ip.src" -e "http.host" -e "http.request.method" -e "http.request.uri"
用這個命令可以查看你指定網卡80端口web訪問的一個情況,要求牢記!

監控io性能、free、ps命令及netstat命令、抓包工具tcpdump,tshark