iostat命令查看系統輸入輸出設備和CPU的使用狀況,在安裝 sysstat 這個包的時候,就會安裝iostat命令,和 sar 同一個包。html
iostat -x命令,其中有個很是重要的指標%util,表示io等待佔的百分比;若是%util數值達到50%或60%,說明磁盤的io很是差;若是%util數值很大,則rkB/s和wkB/s數值也很大;若是rkB/s和wkB/s數值不大,%util數值很大,這說明硬盤有問題。linux
iotop命令是一個用來監視磁盤I/O使用情況的top類工具,能夠動態查看哪個進程在頻繁的讀寫。ios
使用iotop命令前,先安裝iotop包,yum install -y iotop,運行iotop命令,關注IO>這一列。web
free命令是查看內存使用狀況的,直接運行free緩存
第一行是說明行,第二行是內存使用狀況,第三行是交換分區的使用狀況服務器
默認單位KB,使用free -m,可切換單位MB,使用-h,切換單位GB網絡
buff(緩衝)和cache(緩存)區別:數據流向不一樣多線程
磁盤——>內存(cache)——>cputcp
cpu——>內存(buffer)——>磁盤工具
公式:total=used+free+buff/cache
avaliable包含free和buffer/cache剩餘部分
ps命令查看系統進程
ps -aux把系統中全部的進程給列出來
STAT:進程的狀態,須要關注
進程與線程
進程由線程組成的,一個進程中有多個線程;進程與進程以前相互的不共享,線程之間是使用了同一個進程的內存區域。
ps -elf,與ps -aux顯示的信息基本同樣
netstat命令查看網絡狀態,查看的就是tcp/ip通訊的一個狀態
netstat -lnp 查看監聽端口
netstat -ltnp 只查看tcp;netstat -ltunp 只查看tcp和udp
netstat -an 查看全部的鏈接狀態
netstat -an |awk '/^tcp/ {++sta[$NF]} END {for(key in sta) print key,"\t" ,sta[key]}',能夠查看全部狀態的數字,須要記住
ESTABLISHED數值表示當前有多少個客戶端在和服務端保持通訊;若是ESTABLISHED數值很大,表示系統很忙,一般數值在1000之內,服務器均可以接受。
ss -an命令與netstat相似,缺點是不會顯示進程名字
是用來抓取數據包的,運行前先安裝tcpdump包,yum install -y tcpdump
而後運行tcpdump -nn命令,須要指定網卡的名字tcpdump -nn -i ens33
第一個n,表示你的ip用數字的形式顯示出來,若是不加則會顯示出主機名.
tcpdump -nn ens33 port 22 (not port 22)指定端口爲22的(非22的端口)
tcpdump -nn not port 22 and host 192.168.0.100 除去22端口,只要ip爲192.168.0.100的包
tcpdump -nn -i ens33 -c 10 -w /tmp/1.cap指定抓包個數以及存放位置;用file命令查看1.cap文件大概信息,不能被cat查看,不然會亂碼
能夠用tcpdump -r查看1.cap信息,r就是read
該命令也是用來抓包的,使用前先安裝yum install -y wireshark
wireshark工具與tcpdump工具相似
命令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訪問狀況,相似於web的訪問日誌,須要記住。