監控io性能 free命令 ps命令 查看網絡狀態 linux下抓包

監控io性能:

iostat命令:html

報告中央處理單元(CPU)的統計和輸入/輸出設備和分區統計。linux

經常使用選項:ios

iostat -xnginx

重點關注%util列,若是值很大磁盤壓力很大性能不足。web

iotop命令:緩存

iotop命令是一個用來監視磁盤I/O使用情況的top類工具網絡

iotop經常使用快捷鍵:多線程

1. 左右箭頭:改變排序方式,默認是按IO排序。socket

2. r:改變排序順序。tcp

3. o:只顯示有IO輸出的進程。

4. p:進程/線程的顯示方式的切換。

5. a:顯示累積使用量。

6. q:退出

free命令:

• free 查看內存使用狀況

• free -m / -g / -h

-m 以MB爲單位

-g 以GB爲單位

-h 以合適的單位顯示

• buffer/cache區別

buffer:緩衝,cpu處理完的數據準備寫入硬盤先佔用的內存空間

cache:緩存,數據從磁盤讀取將要被cpu處理時所佔的內存空間

系統默認會把內存分配一部分空間給buffer/cache使用

• 公式:total=used+free+buff/cache

• avaliable包含free和buffer/cache剩餘部分

ps命令:

• ps 查看系統進程

• 用法:ps aux、ps -elf

ps aux |grep nginx 查看nginx服務是否開啓

user: 運行的用戶

PID: 進程號

%CPU:佔用cpu的百分比

%MEM:佔用內存的百分比

VSZ: 虛擬內存使用了多少

RSS: 物理內存使用了多少

TTY: 從什麼終端登陸

TIME:

COMMAND:

• STAT部分說明

• D 不能中斷的進程

• R run狀態的進程

• S sleep狀態的進程

• T 暫停的進程

• Z 殭屍進程

• < 高優先級進程

• N 低優先級進程

• L 內存中被鎖了內存分頁

• s 主進程

• l 多線程進程

• + 前臺進程

kill PID 結束進程號

ls -l /proc/PID/ 查看進程號是在哪裏啓動的

proc目錄下有不少數字目錄,此種目錄就是對應的PID目錄

查看網絡狀態: 

• netstat 查看網絡狀態

• netstat -lnp 查看監聽端口

• netstat -an 查看系統的網絡鏈接情況

• netstat -lntp 只看出tcp的,不包含socket

• netstat -lnup 只看udp的,不包含socket

• ss -an 和nestat殊途同歸

• 分享一個小技巧:

• netstat -an | awk '/^tcp/ {++sta[$NF]} END {for(key in sta) print key,"\t",sta[key]}'

linux下抓包:

• 抓包工具tcpdump

• 用法:tcpdump -nn

第一個n表示ip用數字形式顯示,若是不加顯示主機名

第二個n表示端口用數字表示

• tcpdump -nn -i ens33

-i選項指定網卡名字

• tcpdump -nn port 80

port指定抓包的端口

• tcpdump -nn not port 22 and host 192.168.0.100

not port 不抓22端口的包

and在家一個條件

host 只要這個ip的包

• tcpdump -nn -c 100 -w 1.cap

-c 指定抓多少條包

-w 存到指定的文件,此文件不能直接用cat查看。

tcpdump -r 1.cap 查看保存文件裏的抓包

• yum install -y wireshark

安裝tshark命令

• 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訪問的狀況

擴展:

tcp三次握手四次揮手: 

http://www.doc88.com/p-9913773324388.html 

tshark幾個用法:

http://www.aminglinux.com/bbs/thread-995-1-1.html

相關文章
相關標籤/搜索