光荣之路测试开发面试linux考题之四:性能命令
Hi,大家好我是tom,I am back.今天要給大家講講linux系統(tǒng)一些性能相關(guān)命令。
1.fdisk 磁盤管理
是一個(gè)強(qiáng)大的危險(xiǎn)命令,所有涉及磁盤的操作都由該命令完成,包括:新增磁盤、增刪改磁盤分區(qū)等。
1.fdisk?-l?查看磁盤分區(qū)情況
Disk /dev/sda: 27.8 GB, 27896315904 bytes
255 heads, 63 sectors/track, 3391 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
?
???Device?Boot??????Start?????????End??????Blocks???Id??System
/dev/sda1???*???????????1????????3260????26185918+??83??Linux
/dev/sda2????????????3261????????3391?????1052257+??82??Linux swap / Solaris
可以看到,該機(jī)器上的硬盤只有一塊,命名為/dev/sda,可用27.8G。在fdisk中以柱面為單位計(jì)數(shù),該硬盤被分為3391個(gè)柱面,每個(gè)柱面8225280bytes。(現(xiàn)代硬盤容量超大,導(dǎo)致fdisk運(yùn)算失準(zhǔn),雖然最后計(jì)算的數(shù)值是準(zhǔn)確的,但是磁頭(heads)、分段(sectors)都是不準(zhǔn)確的,準(zhǔn)確的是柱面數(shù)量。)
該磁盤分為兩個(gè)分區(qū),第一個(gè)分區(qū)從第一個(gè)柱面開始到第3260個(gè)柱面結(jié)束,占據(jù)26185918個(gè)數(shù)據(jù)塊,為linux分區(qū)……這樣的信息在某些緊急情況下是有用的。
?
2.df -h 查看分區(qū)使用情況
-h參數(shù)是以人類可理解方式顯示磁盤空間。第一列為分區(qū),第二列為分區(qū)大小,第三列為使用量,第四列為剩余量,第五列為使用百分比,最后是掛載點(diǎn)。一目了然,反應(yīng)磁盤使用情況。
其中tmpfs是個(gè)特殊分區(qū),可以理解為2.6內(nèi)核帶來的新特性,更高效率的使用內(nèi)存和虛擬空間的技術(shù)。系統(tǒng)偶爾用到,某些特殊應(yīng)用有需求,比如:oracle。
?
3.du -h filename顯示文件目錄大小命令,這里h參數(shù)代表以人性化的方式展示
du -sh filename?對(duì)于目錄,不加-s參數(shù)會(huì)將目錄下所有目錄依次列出。加了-s參數(shù)后僅僅顯示目標(biāo)目錄的大小。
經(jīng)典用法,du?–sk *|sort?–nr。看看哪個(gè)目錄占空間大
4.free命令查看當(dāng)前內(nèi)存使用情況
如上圖所示,free命令可以顯示當(dāng)前內(nèi)存使用情況。
Linux有一個(gè)特性,被命令執(zhí)行過的目錄結(jié)構(gòu)會(huì)暫時(shí)存放在buffer中,系統(tǒng)中打開過的文檔內(nèi)容暫時(shí)存放在cache中。這兩個(gè)類似緩存的內(nèi)容都放在內(nèi)存中,如果內(nèi)存沒有使用滿,則不會(huì)釋放,當(dāng)內(nèi)存不足時(shí),立刻釋放。也就是說,查看linux內(nèi)存是否大量使用,實(shí)際上不是看的第一行的used和free,而是看第二行,used減去buffers、cached以后和free加上buffers、cached以后的空間。可以用多次執(zhí)行l(wèi)s /dev做實(shí)驗(yàn),驗(yàn)證cache的作用;可以多次man kill做實(shí)驗(yàn),驗(yàn)證buffers。
5.uptime查看cpu load情況
load average:平均負(fù)載,被定義為在特定時(shí)間間隔內(nèi)(一個(gè)cpu周期)運(yùn)行隊(duì)列中的平均進(jìn)程數(shù)。這個(gè)數(shù)值關(guān)系到cpu是否還能勝任。分為1分鐘平均值、5分鐘平均值和15分鐘平均值三個(gè)數(shù)值。
[root@localhost home]# uptime
?11:27:09 up 17:55,??3 users,??load average: 0.49, 0.40, 0.37
機(jī)器允許突發(fā)時(shí)間的處理,也就是1分鐘load很高,5分鐘load較高,15分鐘load起伏不大的情況下,說明該次高load為突發(fā)情況,可以容忍。但是如果高load持續(xù),導(dǎo)致5分鐘和15分鐘load都已經(jīng)超過報(bào)警值,這時(shí)候需要考慮進(jìn)行處理。如果15分鐘load高于1分鐘load,說明高load情況已經(jīng)得到緩解。
?
6.vmstat是一個(gè)常用的運(yùn)維命令,可以從進(jìn)程數(shù)(load)、內(nèi)存、swap、cpu使用率等方面考慮機(jī)器的使用情況。
如上圖所示,其中參數(shù)1代表每一秒鐘取一回?cái)?shù)值。第一行數(shù)值為數(shù)據(jù)在之前一段時(shí)間的平均值,之后每一行列出的為當(dāng)前的值。
7.top 查看進(jìn)程對(duì)系統(tǒng)資源使用情況
OP命令是Linux下常用的性能分析工具,能夠?qū)崟r(shí)顯示系統(tǒng)中各個(gè)進(jìn)程的資源占用狀況。
TOP是一個(gè)動(dòng)態(tài)顯示過程,即可以通過用戶按鍵來不斷刷新當(dāng)前狀態(tài)。如果在前臺(tái)執(zhí)行該命令,它將獨(dú)占前臺(tái),直到用戶終止該程序?yàn)橹埂1容^準(zhǔn)確的說,top命令提供了實(shí)時(shí)的對(duì)系統(tǒng)處理器的狀態(tài)監(jiān)視。它將顯示系統(tǒng)中CPU最“敏感”的任務(wù)列表。該命令可以按CPU使用、內(nèi)存使用和執(zhí)行時(shí)間對(duì)任務(wù)進(jìn)行排序;而且該命令的很多特性都可以通過交互式命令或者在個(gè)人定制文件中進(jìn)行設(shè)定。
在top顯示視圖中,按字母“f”,進(jìn)入增加信息的選項(xiàng)。上述所有列以字母a到z排列在該視圖中,在該視圖中按任意字母鍵,可以增加或者刪除top顯示的信息。字母為大寫且左側(cè)有“*”的選項(xiàng)將在顯示視圖中顯示。選擇完畢后,按非字母的任意鍵退回顯示視圖。
?
在顯示視圖中按小寫字母“o”,進(jìn)入顯示順序選擇。對(duì)某個(gè)字母按其大寫鍵,可以將其向上移動(dòng),按小寫鍵,將其向下移動(dòng)。比如,需要把“%cpu”放置在第二列顯示,則連續(xù)按動(dòng)大寫字母“K”。
8.使用iostat分析IO性能
iostat可以顯示CPU和I/O系統(tǒng)的負(fù)載情況及分區(qū)狀態(tài)信息
?
avg-cpu段:
%user: 在用戶級(jí)別運(yùn)行所使用的CPU的百分比.
%nice: nice操作所使用的CPU的百分比.
%sys: 在系統(tǒng)級(jí)別(kernel)運(yùn)行所使用CPU的百分比.
%iowait: CPU等待硬件I/O時(shí),所占用CPU百分比.
%idle: CPU空閑時(shí)間的百分比.
Device段:
tps: 每秒鐘發(fā)送到的I/O請(qǐng)求數(shù).
Blk_read /s: 每秒讀取的block數(shù).
Blk_wrtn/s: 每秒寫入的block數(shù).
Blk_read:???讀入的block總數(shù).
Blk_wrtn:??寫入的block總數(shù).
iostat各個(gè)參數(shù)說明:
-c 僅顯示CPU統(tǒng)計(jì)信息.與-d選項(xiàng)互斥.
?-d 僅顯示磁盤統(tǒng)計(jì)信息.與-c選項(xiàng)互斥.
?-k 以K為單位顯示每秒的磁盤請(qǐng)求數(shù),默認(rèn)單位塊.
?-p device | ALL
??與-x選項(xiàng)互斥,用于顯示塊設(shè)備及系統(tǒng)分區(qū)的統(tǒng)計(jì)信息.也可以在-p后指定一個(gè)設(shè)備名,如:
??#?iostat -p hda
??或顯示所有設(shè)備
??#?iostat -p ALL
?-t????在輸出數(shù)據(jù)時(shí),打印搜集數(shù)據(jù)的時(shí)間.
?-V????打印版本號(hào)和幫助信息.
?-x????輸出擴(kuò)展信息.
常見用法
iostat -d -k 1 10 #查看TPS和吞吐量信息
iostat -d -x -k 1 10 #查看設(shè)備使用率(%util)、響應(yīng)時(shí)間(await)
iostat -c 1 10 #查看cpu狀態(tài)
轉(zhuǎn)載于:https://www.cnblogs.com/tom-gao/p/7365432.html
總結(jié)
以上是生活随笔為你收集整理的光荣之路测试开发面试linux考题之四:性能命令的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Kotlin学习记录1
- 下一篇: 第二课 android项目结构