全面詳解linux下的top命令——實時監控服務器狀況

linux下的top命令,可以用來實時監控服務器的健康狀況。該命令能夠獲取到的信息非常多,是服務器運維工程師最好的幫手之一。我們知道,ps這個命令可以監控某一時刻,服務器上各進程的運行情況,相對比ps,top命令則可是持續監控。

top?[選項]

常用選項如下:

  • -d 屏幕刷新間隔時間,默認為5秒

  • -n 共刷新屏幕的次數

  • -u 指定用戶名

  • -p 指定進程ID

下面,我們看看top命令產生出的信息內容

全面詳解linux下的top命令——實時監控服務器狀況

首先我們來看第一行

  • top – 14:55:21 表示系統當前時間

  • up 12 days, ?1:28 表示服務器自上次啟動后持續運行的時間

  • 1 user 當前系統有多少個用戶已登陸

  • load average: 0.17, 0.09, 0.13 表示系統在過去1分鐘、5分鐘、15分鐘的工作負載情況。負載表示系統在同時運行幾個程序。對于單核cpu,負載小于1表示正常,如果有4塊cpu并且都是兩核,那么負載小于8是正常的。

繼續看第二行,第二行是給出系統所有進程的總體信息,總共有多少191個進程,1個進程正在運行中,190進程在休眠中。

第三行顯示cpu的使用信息

  • us 表示用戶進程占用的cpu百分比,如果是多核,這個表示的是平均值,可以按1來顯示每個cpu的使用情況。

  • sy 表示內核空間占用的cpu百分比

  • id 表示空閑時間占cpu的百分比

  • wa表示I/0 wait,即等待輸入輸出的cpu時間百分比

第四行和第五行分別顯示的是內存的使用情況、swap空間的使用情況。

對于top命令,我們不僅要知道幾個選項的意義,更需要知道一些交互命令。這些交互命令可以讓我們非常方便的查詢想要的信息。常用的兩個交互命令如下:

  • P:根據CPU使用百分比大小進行排序;

  • M:根據駐留內存大小進行排序

  • c:切換顯示命令名稱和完整命令行

介紹完top命令后,下面給出一個日常運維中非常有用的小方法。當我們知道了某個進程比較占用資源,那么可能就需要去監控這個進程一段時間,如果一直耗資源,就需要采取相應的措施了。比如,我們知道了mysql進程比較耗資源,并且知道了它的pid為1992,那么我們用top來監控該進程一段時間看看。

top?-p?1992

? 版權聲明
THE END
喜歡就支持一下吧
點贊5 分享