5月7日
10.6 監(jiān)控io性能
1.監(jiān)控io性能
??命令?iostat -x 查看磁盤使用
?
注:%util這列就是表示磁盤io百分比,如果百分比很大,那就會(huì)導(dǎo)致讀與寫也很大,會(huì)影響磁盤性能,磁盤有異常。
2 .iotop命令
使用 ?yum install -y iotop ?安裝
輸入iotop命令, 查看磁盤io,動(dòng)態(tài)顯示。
?
?
?
?
10.7 free命令
1. free命令可以查看當(dāng)前系統(tǒng)的總內(nèi)存大小以及使用內(nèi)存的情況。
? 查看內(nèi)存使用多少,剩余多少請(qǐng)看第二行的數(shù)據(jù)。另外我們還可以加-m或-h 或者-g選項(xiàng)分別以M或G為單位打印內(nèi)存使用狀況:
常用的命令選項(xiàng)是:free -h
解釋:
total:內(nèi)存總大小。
used:真正使用的實(shí)際內(nèi)存大小。
free:剩余物理內(nèi)存大小(沒(méi)有被分配,純剩余)
shared:共享內(nèi)存大小,不用關(guān)注它。
buff/cache:分配給buffer和cache的內(nèi)存總共有多大。buffer和cache都是一部分內(nèi)存,內(nèi)存的作用就是緩解CPU和IO(如,磁盤)的速度差距的,可以如下理解:
數(shù)據(jù)經(jīng)過(guò)CPU計(jì)算,即將要寫入磁盤,這時(shí)用的內(nèi)存為buffer
CPU要計(jì)算時(shí),需要把數(shù)據(jù)從磁盤中讀出來(lái),臨時(shí)先放到內(nèi)存中,這部分內(nèi)存就是cache。
available:系統(tǒng)可使用內(nèi)存有多大,它包含了free,同時(shí)還有buffert和cache這部分還未占用的內(nèi)存。
free命令可以加上-m和-g、-h選項(xiàng)(分別以MB或GB為單位)打印內(nèi)存的使用狀況
總結(jié):
公式:total=used+free+buff/cache
avaliable包含free和buffer/cache剩余部分
10.8 ps命令
1.查看系統(tǒng)進(jìn)程命令: ?ps aux 或 ps -elf ?都可以
說(shuō)明:
? 2. ? PID:表示進(jìn)程的ID,在想要?dú)⑺肋M(jìn)程的時(shí)候就有作用
命令 kill PID號(hào) 例子:kill 1346 ,有時(shí)殺不掉,則需要加一個(gè)-9選項(xiàng)了
? ? ? ? ? ? ? ? ? ? ?kill -9 進(jìn)程pid 例如:kill -9 1346
ps aux |grep qmgr 會(huì)看到的該進(jìn)程被殺掉了
在遇到一個(gè)不知道的進(jìn)程(有可能是被***的進(jìn)程),在殺死的時(shí)候,就需要先查看進(jìn)程的PID號(hào)。
?3. ? STAT:進(jìn)程的狀態(tài)。
D:不能中斷的進(jìn)程,通常為IO (正在等待IO資源的進(jìn)程,類似于vmstat中的b)。
R(run): 正在運(yùn)行的進(jìn)程,其中包括了等待CPU時(shí)間片的進(jìn)程。
S(sleep):已經(jīng)中斷的進(jìn)程,同樣情況下系統(tǒng)的大部分進(jìn)程都是這個(gè)狀態(tài)。
T:已經(jīng)停止或者暫停的進(jìn)程。如果我們正在運(yùn)行一個(gè)命令,比如說(shuō)sleep 10,我們按一下Ctrl+z暫停進(jìn)程時(shí),用ps命令查看就會(huì)顯示T這個(gè)狀態(tài)。
X:已經(jīng)死掉的進(jìn)程。
Z:僵尸進(jìn)程。
<:高優(yōu)先級(jí)進(jìn)程。
N:低優(yōu)先級(jí)進(jìn)程。
s:主進(jìn)程。
+:前臺(tái)的進(jìn)程,例如此時(shí)ps aux就是前臺(tái)的進(jìn)程。
l:多線程進(jìn)程。
4. ps命令經(jīng)常會(huì)連同管道符一起使用,用來(lái)查看某個(gè)進(jìn)程或者它的數(shù)量?
命令:ps aux |grep ?sshd
上例中的3不準(zhǔn)確,需要減掉1,因?yàn)槭褂胓rep命令時(shí),grep命令本身也算一個(gè)進(jìn)程。
10.9 查看網(wǎng)絡(luò)狀態(tài)
1.?查看網(wǎng)絡(luò)狀態(tài)
netstat命令用來(lái)打印網(wǎng)絡(luò)連接狀況、系統(tǒng)所開(kāi)放端口、路由表等信息。
常用的netstat的命令就是這個(gè)?netstat -lnp (打印當(dāng)前系統(tǒng)啟動(dòng)哪些端口)和
?netstat -an (打印網(wǎng)絡(luò)連接狀況)
常用的命令有如下:
1.1 netstat 查看網(wǎng)絡(luò)狀態(tài)
1.2?netstat -lnp?查看監(jiān)聽(tīng)端口
1.3 netstat -an 查看系統(tǒng)的網(wǎng)絡(luò)連接狀況
1.4 netstat -lntp 只看出tcp的,不包含socket
1.5 ss -an 和nestat異曲同工,也是查看網(wǎng)絡(luò)狀態(tài)
?
1.1 netstat 查看網(wǎng)絡(luò)狀態(tài)
?
1.2 ?netstat -lnp?查看監(jiān)聽(tīng)端口
?
1.3 netstat -an 查看系統(tǒng)的網(wǎng)絡(luò)連接狀況
?
1.4 netstat -lntp?只看出tcp的,不包含socket
?
1.5 ?ss -an?和nestat異曲同工,也是查看網(wǎng)絡(luò)狀態(tài)
?
2. 如果你所管理的服務(wù)器是一臺(tái)提供web服務(wù)(80端口)的服務(wù)器,那么你就可以使用 命令:netstat -an |grep 80 查看當(dāng)前連接web服務(wù)的有哪些IP了。
?
3.小技巧:
可以查看所有狀態(tài)的數(shù)字,
使用命令:netstat -an | awk '/^tcp/ {++sta[$NF]} END {for(key in sta) print key,"\t",sta[key]}'
如下:
?
?10.10 linux下抓包
1. linux抓包工具tcpdump?
有時(shí)候想看一下某個(gè)網(wǎng)卡上都有哪些數(shù)據(jù)包,尤其是當(dāng)你初步判定你的服務(wù)器上有流量***。這時(shí),使用抓包工具來(lái)抓一下數(shù)據(jù)包,就可以知道有哪些IP在***你了
安裝命令 yum install -y tcpdump
用法:tcpdump -nn -i eth0 ? ?(使用ifconfig查看網(wǎng)卡名稱)
? 1.1 只關(guān)注第3-4列,顯示為哪一個(gè)IP地址+端口號(hào)在連接哪一個(gè)IP+端口號(hào)。
? 1.2 -i表示網(wǎng)卡,后面跟的eth0是網(wǎng)卡名稱,如果想抓取其他網(wǎng)卡上的數(shù)據(jù)包,后面則要 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?跟其他網(wǎng)卡的名字。
? 1.3 ?-nn選項(xiàng)的作用是讓第三列和第四列顯示成“ip+端口號(hào)”的形式,如果不加-nn選項(xiàng)則顯示“主機(jī)名+服務(wù)名稱”。
其它用法:
tcpdump -nn -i ens33 -c 100 //-c作用是指定抓包數(shù)量,抓夠了就自動(dòng)退出,不用人為取消。
tcpdump -nn -i ens33 port 80 // 指定只抓80端口的包
tcpdump -nn -i ens33 not port 22 //不要22端口的包
tcpdump -nn -i ens33 tcp and not port 22 //指定抓tcp的包,但是不要22端口的
tcpdump -nn -i ens33 port 22 and port 53 //只抓22和53端口的包
tcpdump -nn -i ens33 not port 22 and host 192.168.0.100 //只要這個(gè)ip的包
tcpdump -nn -c 100 -w /tmp/12.cap //指定打印數(shù)據(jù)包條數(shù),然后存儲(chǔ)到指定文件里。
tcpdump -r /tmp/12.cap //因?yàn)?2.cap是二進(jìn)制數(shù)據(jù)包,不是文本,所以不能cat,應(yīng)該用這種方式讀取。
2. wireshark工具
安裝命令 yum install -y wireshark
命令: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"?
這條命令可以查看指定網(wǎng)卡80端口的一個(gè)web訪問(wèn)的情況,如果服務(wù)器沒(méi)有提供web服務(wù),沒(méi)有任何的80端口在監(jiān)聽(tīng),就無(wú)法顯示效果,類似web的訪問(wèn)日志。
轉(zhuǎn)載于:https://blog.51cto.com/404006045/2113767
總結(jié)
- 上一篇: 却另相思隔阴阳
- 下一篇: tomcat 绑定ipv4端口