日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > linux >内容正文

linux

5个Linux常用的系统检测工具

發(fā)布時(shí)間:2023/12/31 linux 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 5个Linux常用的系统检测工具 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

前言

使用Linux系統(tǒng)也有很長一段時(shí)間,很少想著去監(jiān)控服務(wù)器的性能,想要寫這篇博客也是源于想要通過這種方式將這些碎片的知識(shí)記錄下來,且試用一下其內(nèi)置的命令和一些附加的工具。

這些工具提供了獲取系統(tǒng)活動(dòng)的相關(guān)指標(biāo),可以使用這些工具來查找性能問題的可能原因,接下來提到的是一些基本的命令,用于系統(tǒng)分析和服務(wù)器調(diào)試等,例如

1. 找出系統(tǒng)瓶頸
2. 磁盤(存儲(chǔ))瓶頸
3. CPU和內(nèi)存瓶頸
4. 網(wǎng)絡(luò)瓶頸

1. top - 進(jìn)程活動(dòng)監(jiān)控命令

top命令會(huì)顯示Linux的進(jìn)程,從圖中可以看出它提供了一個(gè)運(yùn)行中系統(tǒng)的實(shí)時(shí)動(dòng)態(tài)圖,顯示了實(shí)際的進(jìn)程活動(dòng),默認(rèn)情況下,會(huì)顯示服務(wù)器上運(yùn)行的CPU占用率最高的任務(wù),并且每五秒更新一次(可更改),top的詳細(xì)命令和參數(shù)意思可以參考這篇博客 。

圖中主要參數(shù)含義:

1. up 11:24 是系統(tǒng)運(yùn)行時(shí)間,格式是,時(shí):分
2. load average:0.07,0.05,0.01 系統(tǒng)負(fù)載,即任務(wù)隊(duì)列的平均長度,是那個(gè)值分別是前1分鐘、5分鐘、15分鐘到現(xiàn)在的平均值
3. zombie 是僵尸進(jìn)程
4. Mem 是物理內(nèi)存總量,buffers 是用作內(nèi)存緩存的內(nèi)存量
5. Swap 是交換區(qū)的總量,cached是換成的交換區(qū)總量
6. PR 優(yōu)先級(jí);
7. NI nice值,負(fù)值表示高優(yōu)先級(jí),正值表示低優(yōu)先級(jí);
8. RES j進(jìn)程使用的、未被換出的物理內(nèi)存大小,單位kb;
9. SHR 共享內(nèi)存大小,單位kb;
10. S 進(jìn)程狀態(tài):D=不可中斷的睡眠狀態(tài)、R=運(yùn)行、S=睡眠、T=跟蹤/停止、Z=僵尸進(jìn)程

使用方法

top [-] [d] [p] [q] [c] [C] [S] [s] [n]d 指定屏幕信息刷新之間的時(shí)間間隔。當(dāng)然用戶可以使用s交互命令來改變。 p 通過指定監(jiān)控進(jìn)程ID來僅僅監(jiān)控某個(gè)進(jìn)程的狀態(tài)。 q 該選項(xiàng)將使top沒有任何延遲的進(jìn)行刷新。如果調(diào)用程序有超級(jí)用戶權(quán)限,那么top將以盡可能高的優(yōu)先級(jí)運(yùn)行。 S 指定累計(jì)模式 s 使top命令在安全模式中運(yùn)行。這將去除交互命令所帶來的潛在危險(xiǎn)。 i 使top不顯示任何閑置或者僵死進(jìn)程。 c 顯示整個(gè)命令行而不只是顯示命令名

快捷鍵

top [-] [d] [p] [q] [c] [C] [S] [s] [n]t 顯示匯總信息 m 是否顯示內(nèi)存信息 A 根據(jù)各種系統(tǒng)資源的利用率對(duì)進(jìn)程進(jìn)行排序,有助于快速識(shí)別系統(tǒng)中性能不加的任務(wù) f 進(jìn)行top交互式配置屏幕,根據(jù)需求設(shè)置top的顯示,默認(rèn)情況下僅顯示比較重要的PID、USER、PR、NI、VIRT、RES、SHR、S、%CPU、%MEM、TIME+、COMMAND 列 o 交互式調(diào)地調(diào)整top每一列的順序 r 調(diào)整優(yōu)先級(jí)(renice) k 殺掉進(jìn)程(kill) z 切換到彩色或者黑白模式

2. vmstat - 虛擬內(nèi)存統(tǒng)計(jì)

vmstat 虛擬內(nèi)存統(tǒng)計(jì),顯示有關(guān)進(jìn)程、內(nèi)存、分頁、塊IO、中斷和CPU活動(dòng)等信息。具體信息可以參考這篇博客

注:一般vmstat工具的使用是通過兩個(gè)數(shù)字參數(shù)來完成的,第一個(gè)參數(shù)是采樣的時(shí)間間隔數(shù),單位是秒,第二個(gè)參數(shù)是采樣的次數(shù),如:

vmstat 3 2 ## 參數(shù)1=3 表示間隔3秒;參數(shù)2=2,表示采樣2次vmstat 5 ## 表示vmstat每2秒采集數(shù)據(jù),一直采集,直到我結(jié)束程序(如上圖)

圖中主要參數(shù)含義:

1.r 表示運(yùn)行隊(duì)列(就是說多少個(gè)進(jìn)程真的分配到CPU),當(dāng)這個(gè)值超過了CPU數(shù)目,就會(huì)出現(xiàn)CPU瓶頸了。這個(gè)也和top的負(fù)載有關(guān)系,一般負(fù)載超過了3就比較高,超過了5就高,超過了10就不正常了,服務(wù)器的狀態(tài)很危險(xiǎn)。top的負(fù)載類似每秒的運(yùn)行隊(duì)列。如果運(yùn)行隊(duì)列過大,表示你的CPU很繁忙,一般會(huì)造成CPU使用率很高。
2.b 表示阻塞的進(jìn)程
3.swpd 虛擬內(nèi)存已使用的大小,如果大于0,表示你的機(jī)器物理內(nèi)存不足了,如果不是程序內(nèi)存泄露的原因,那么你該升級(jí)內(nèi)存了或者把耗內(nèi)存的任務(wù)遷移到其他機(jī)器。
4.free 空閑的物理內(nèi)存的大小
5.buff Linux系統(tǒng)是用來存儲(chǔ),目錄里面有權(quán)限等的緩存
6.cache cache直接用來記憶我們打開的文件,給文件做緩沖,把空閑的物理內(nèi)存的一部分拿來做文件和目錄的緩存,是為了提高程序執(zhí)行的性能,當(dāng)程序使用內(nèi)存時(shí),buffer/cached會(huì)很快地被使用。
7.si 每秒從磁盤讀入虛擬內(nèi)存的大小,如果這個(gè)值大于0,表示物理內(nèi)存不夠用或者內(nèi)存泄露了,要查找耗內(nèi)存進(jìn)程解決掉。
8.so 每秒虛擬內(nèi)存寫入磁盤的大小,如果這個(gè)值大于0,同上。
9.bi 塊設(shè)備每秒接收的塊數(shù)量,這里的塊設(shè)備是指系統(tǒng)上所有的磁盤和其他塊設(shè)備。
10.bo 塊設(shè)備每秒發(fā)送的塊數(shù)量,例如我們讀取文件,bo就要大于0。bi和bo一般都要接近0,不然就是IO過于頻繁,需要調(diào)整。
11.in 每秒CPU的中斷次數(shù),包括時(shí)間中斷
12.cs 每秒上下文切換次數(shù),例如我們調(diào)用系統(tǒng)函數(shù),就要進(jìn)行上下文切換,線程的切換,也要進(jìn)程上下文切換,這個(gè)值要越小越好,太大了,要考慮調(diào)低線程或者進(jìn)程的數(shù)目。
13.us 用戶CPU時(shí)間。
14.sy 系統(tǒng)CPU時(shí)間,如果太高,表示系統(tǒng)調(diào)用時(shí)間長,例如是IO操作頻繁。
15.id 空閑 CPU時(shí)間,一般來說,id + us + sy = 100,一般我認(rèn)為id是空閑CPU使用率,us是用戶CPU使用率,sy是系統(tǒng)CPU使用率。
16.wt 等待IO CPU時(shí)間。


其他命令

sudo vmstat -m ##顯示slab緩存的利用率vmstat -a ## 獲取有關(guān)活動(dòng)和非活動(dòng)內(nèi)存頁面的信息

f  開啟或關(guān)閉顯示用戶從何處登入系統(tǒng)。 -h  不顯示各欄位的標(biāo)題信息列。 -l  使用詳細(xì)格式列表,此為預(yù)設(shè)值。 -s  使用簡潔格式列表,不顯示用戶登入時(shí)間,終端機(jī)階段作業(yè)和程序所耗費(fèi)的CPU時(shí)間。 -u  忽略執(zhí)行程序的名稱,以及該程序耗費(fèi)CPU時(shí)間的信息。 -V  顯示版本信息。

4. ps - 報(bào)告當(dāng)前系統(tǒng)的進(jìn)程狀態(tài)

ps命令用于報(bào)告當(dāng)前系統(tǒng)的進(jìn)程狀態(tài)。可以搭配kill指令隨時(shí)中斷、刪除不必要的程序。

語 法:ps [選項(xiàng)]參 數(shù):-a 顯示所有終端機(jī)下執(zhí)行的程序,除了階段作業(yè)領(lǐng)導(dǎo)者之外 a 顯示現(xiàn)行終端機(jī)下的所有程序,包括其他用戶的程序-A 顯示所有程序 c 列出程序時(shí),顯示每個(gè)程序真正的指令名稱,而不包含路徑,選項(xiàng)或常駐服務(wù)的標(biāo)示-C 指定執(zhí)行指令的名稱,并列出該指令的程序的狀況 -e 此選項(xiàng)的效果和指定"A"選項(xiàng)相同 e 列出程序時(shí),顯示每個(gè)程序所使用的環(huán)境變量f 用ASCII字符顯示樹狀結(jié)構(gòu),表達(dá)程序間的相互關(guān)系-H 顯示樹狀結(jié)構(gòu),表示程序間的相互關(guān)系 r 只列出現(xiàn)行終端機(jī)正在執(zhí)行中的程序-T 顯示現(xiàn)行終端機(jī)下的所有程序 u 以用戶為主的格式來顯示程序狀況-au 顯示較詳細(xì)的資訊 -aux 顯示所有包含其他使用者的行程 -help 顯示幫助信息 -version 顯示版本

注:由于ps命令能夠支持的系統(tǒng)類型相當(dāng)多,所以選項(xiàng)也多得離譜,其實(shí)還有很多不常用的選項(xiàng)沒有列出來。感興趣的可以參考博客。


5. netstat - 檢驗(yàn)各端口的網(wǎng)絡(luò)連接情況

netstat命令用于顯示TP,TCP,UDP和ICMP等協(xié)議相關(guān)的統(tǒng)計(jì)數(shù)據(jù),一般用于檢驗(yàn)本機(jī)各端口的網(wǎng)絡(luò)連接情況。

語 法:netstat [選項(xiàng)]參 數(shù):-a 顯示所有選項(xiàng),默認(rèn)不顯示LISTEN相關(guān) -t 僅顯示TCP相關(guān)選項(xiàng) -u 僅顯示UDP相關(guān)選項(xiàng) -n 拒絕顯示別名,能顯示數(shù)字的全部轉(zhuǎn)化成數(shù)字 -l 僅列出有在Listen的服務(wù)狀態(tài) -p 顯示建立相關(guān)連接的程序名 -r 顯示路由信息,路由表 -e 顯示擴(kuò)展信息,例如uid等 -s 按各個(gè)協(xié)議進(jìn)行統(tǒng)計(jì) -c 每隔一個(gè)固定時(shí)間,執(zhí)行該netstat命令

注: LISTEN和LISTENING的狀態(tài)只有用-a或者-l才能看到
常用的查看網(wǎng)絡(luò)TCP網(wǎng)絡(luò)連接命令為netstat -ntlp ,我們能查看其連接狀態(tài),IP地址,以及連接的端口號(hào)等信息,效果如下圖所示:


總結(jié)

以上是生活随笔為你收集整理的5个Linux常用的系统检测工具的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。