七周二次課(1月23日)
10.6 監控io性能
iostat -x
iostat -x 1
%util 磁盤等待io 數字大,磁盤讀寫等待過長
iotop
動態顯示 根據磁盤io
db數據庫示例
10.7 free命令
free 查看內存 centos6和7顯示結果不同
buff 緩沖 cache 緩存
數據流向圖解
used+free+buff/cache=total
available=free+buff/cache
10.8 ps命令
ps aux 靜態列出系統所有進程,top是動態
ps aux |grep nginx 查看是不是有這個進程在運行
ps -elf 和aux差不多
kill pid 命令
ls -l proc/pid/ 查看進程的目錄
STAT 進程狀態
D 不可中斷 Uninterruptible sleep (usually IO)
R 正在運行,或在隊列中的進程 RUN
S 處於休眠狀態 SLEEP
T 停止或被追蹤
Z 僵屍進程
X 死掉的進程
< 高優先級
N 低優先級
L 有些頁被鎖進內存
s 包含子進程,本身是父進程
+ 前臺進程
l 多線程,克隆線程 multi-threaded (using CLONE_THREAD, like NPTL pthreads do)
進程與線程
1 進程裏包含了線程,線程是進程的子單元
2 同一個進程下的線程全部共享相同的內存,而進程之間內存相互隔離。
10.9 查看網絡狀態
-a (all)顯示所有選項,默認不顯示LISTEN相關
-t (tcp)僅顯示tcp相關選項
-u (udp)僅顯示udp相關選項
-n 拒絕顯示別名,能顯示數字的全部轉化成數字。
-l 僅列出有在 Listen (監聽) 的服務狀態
-p 顯示建立相關鏈接的程序名
-r 顯示路由信息,路由表
-e 顯示擴展信息,例如uid等
-s 按各個協議進行統計
-c 每隔一個固定時間,執行該netstat命令。
netstat -lnp 查看監聽的端口
netstat -an 查看tcp/ip 協議狀態
查看tcp 連接狀態
查看所有連接狀態
ss -an tcp/ip狀態
10.10 linux下抓包
tcpdump -nn 第一個n表示ip 用數字顯示出來,如果不加會顯示主機名
指定端口和ip port host 非某個端口not port
指定100個數據包並存到一個文件去 -c -w
查看這個文件用tcpdump -r查看 上圖是實際傳輸的數據包,包含ip和實際內容等
tshark
擴展
tcp三次握手四次揮手 http://www.doc88.com/p-9913773324388.html
tshark幾個用法:http://www.aminglinux.com/bbs/thread-995-1-1.html
七周二次課(1月23日)