【性能测试】Linux系统监控-Top命令
前面轉載的三篇文章主要介紹了性能測試的相關概念,其中有提到服務器,服務器的配置是性能測試中必須考慮的,而且性能測試中也必須監控服務器。
這篇文章主要介紹一下如何通過Linux服務器自帶的top命令監控運行情況,以下是直接top命令得到的信息:
系統統計信息
第一行:需要關注的是load avg這行,通過這三個值,我們能看出系統負載的發展趨勢。比如過去1分鐘、5分鐘、15分鐘的平均負載的值分別是0.0、0.0、0.0。能說明什么問題呢?壓測后,系統的負載越來越多。這個load值,除以邏輯CPU的數量(我的是8),大于5就表明系統在超負荷運轉了。后續會有一篇文章專門介紹CPU相關信息和CPU和load average的關系。
第二行:任務運行情況,運行的越多,系統肯定越累。僵尸進程的概念大家搜索一下,一般情況下,不會有僵尸進程。
第三行:這一行是CPU的信息,比較重要,需要關注us、sy、wa這3個值占用是否高。多少算高?好問題,us一般超過75%就算高,sy一般超過30%就算高,wa超過5%就算高。
第四行:主要記錄的是內存使用情況。內存是計算機中重要的部件之一,它是與CPU進行溝通的橋梁。計算機中所有程序的運行都是在內存中進行的,因此內存的性能對計算機的影響非常大。?
現代的操作系統為了最大利用內存,在內存中存放了緩存,因此內存利用率100%并不代表內存有瓶頸,衡量系統內有有瓶頸主要靠SWAP(與虛擬內存交換)交換空間利用率,一般情況下,SWAP交換空間利用率要低于70%,太多的交換將會引起系統性能低下。
第五行:上面說了,第4行,不能反應內存是否夠用,最主要還是要看這一行。我上面圖片中交換空間利用率0%,很明顯內存足夠。
進程信息
- PID:進程id
- USER:進程所有者用戶名;
- PR:優先級。數值越大優先級越高;
- NI:nice值,負值表示高優先級,正值表示低優先級
- VIRT:進程使用的虛擬內存總量,單位KB。VIRT=SWAP+RES SWAP:進程使用的虛擬內存中被換出的大小,單位KB
- RES:進程使用的、未被換出的物理內存大小,單位KB,RES=CODE+DATA SHR:共享內存大小,單位KB
- SHR:共享內存大小,單位KB
- S:進程狀態。D表示不可中斷的睡眠狀態;R表示運行;S表示睡眠;T表示跟蹤/停止;Z表示僵尸進程。
- %CPU:上次更新到現在的CPU占用百分比 ;
- %MEM:進程使用的物理內存百分比 ;
- TIME+:進程使用的CPU時間總計,單位1/100秒;
- COMMAND:命令名/命令行
TOP常用交互命令
通過 top 的內部命令對進程的顯示方式進行控制,交互命令使用方法:先top命令得到信息,再輸入交互命令
s – 改變畫面更新頻率
l – 關閉或開啟第一部分第一行 top 信息的表示
t – 關閉或開啟第一部分第二行 Tasks 和第三行 Cpus 信息的表示
m – 關閉或開啟第一部分第四行 Mem 和 第五行 Swap 信息的表示
N – 以 PID 的大小的順序排列表示進程列表
P – 以 CPU 占用率大小的順序排列進程列表
M – 以內存占用率大小的順序排列進程列表
h – 顯示幫助
n – 設置在進程列表所顯示進程的數量
q – 退出 top
在top基本視圖中,按鍵盤數字“1”,可監控每個邏輯CPU的狀況
TOP常用組合命令
使用格式:
top [-] [b] [d] [p] [q] [c] [C] [S] [s] [n]
參數說明:
b: 以批處理模式操作
d:指定每兩次屏幕信息刷新之間的時間間隔。當然用戶可以使用s交互命令來改變之。
p: 通過指定監控進程ID來僅僅監控某個進程的狀態。
q: 該選項將使top沒有任何延遲的進行刷新。如果調用程序有超級用戶權限,那么top將以盡可能高的優先級運行。
S:指定累計模式。
s:使top命令在安全模式中運行。這將去除交互命令所帶來的潛在危險。
i:使top不顯示任何閑置或者僵死進程。
c: 顯示整個命令行而不只是顯示命令名。
組合命令:top -b -d 1 > /data/文件名.txt (將top的信息按每1秒重定向到服務器目錄某個文件)
下篇文章主要介紹Linux服務器CPU相關信息。
總結
以上是生活随笔為你收集整理的【性能测试】Linux系统监控-Top命令的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机编码发展历史和编码方式
- 下一篇: 【Linux】linux服务器下的帮助命