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