在Ubuntu系統中,終端是我們管理和監控系統的重要工具。當你需要即時瞭解系統的資源使用情況,比如CPU有沒有被大量佔用、內存是否緊張,或者哪些進程在“偷偷”消耗資源時,一個好用的系統監控工具就顯得尤爲關鍵。而top命令,正是Ubuntu終端裏最基礎也最實用的系統監控利器之一。它能以動態的方式展示系統當前的運行狀態,包括CPU、內存、進程等信息,讓你對系統“脈搏”瞭如指掌。
一、啓動top命令¶
要使用top命令,只需打開終端(可以通過快捷鍵Ctrl+Alt+T快速調出),然後直接輸入top並回車。如果是普通用戶,直接執行top就能看到基礎的系統資源監控信息;若需查看更詳細的系統級信息(如進程的UID),可加sudo以管理員權限運行,但初學者先從普通權限開始即可。
二、top界面詳解¶
啓動top後,你會看到一個動態更新的界面,大致分爲幾個區域:
第一行:系統整體信息¶
12:34:56:當前系統時間up 1 day, 2:30:系統已運行時間(示例中是1天2小時30分鐘)1 user:當前登錄的用戶數load average: 0.12, 0.15, 0.18:系統負載均衡,三個數字分別代表1分鐘、5分鐘、15分鐘內的平均負載。一般來說,負載值不超過CPU核心數是正常的(如4核CPU,負載<4),超過則可能意味着系統任務過多,CPU處理不過來。
第二行:進程彙總信息¶
Tasks: 120 total:總進程數1 running:正在運行的進程數(狀態爲R)118 sleeping:睡眠狀態的進程數(狀態爲S)0 stopped:停止的進程數2 zombie:殭屍進程數(若非0,需檢查是否有進程異常退出)
第三行:CPU狀態¶
%Cpu(s): 2.0 us, 1.0 sy, 0.0 ni, 96.0 id, 1.0 wa, 0.0 hi, 0.0 si, 0.0 st:CPU使用率的詳細拆分:us:用戶態進程佔用的CPU時間(如你運行的程序)sy:內核態進程佔用的CPU時間(系統管理程序)id:空閒CPU時間(理想情況下越高越好,接近100%表示系統空閒)wa:等待IO的CPU時間(如讀寫硬盤、網絡),若wa過高(如>20%),可能是IO瓶頸(如硬盤慢)。
第四行:內存狀態¶
KiB Mem : 16384000 total, 1234567 free, 8765432 used, 5678901 buff/cache:total:總物理內存(示例中約16GB)used:已使用內存(含緩存和緩衝區)free:空閒內存buff/cache:緩衝區和緩存(系統緩存數據,可視爲“可用儲備”,不是真正的已用內存)。
第五行:交換空間(Swap)¶
KiB Swap: 2097152 total, 2097152 free, 0 used:交換空間(類似Windows虛擬內存),若used不爲0,可能物理內存不足,系統開始使用交換空間。
下方:進程列表¶
這是最核心的部分,顯示所有進程的詳細信息(默認列):
- PID:進程ID(唯一標識)
- USER:進程所屬用戶
- %CPU:CPU使用率(即時)
- %MEM:內存使用率(即時)
- S:進程狀態(R運行、S睡眠、D不可中斷睡眠、Z殭屍)
- COMMAND:進程名稱(如chrome、python等)
三、top常用快捷鍵(新手必備)¶
top啓動後,按以下快捷鍵可快速操作,無需重複退出重啓:
- q:退出top(最常用)
- P:按CPU使用率從高到低排序(快速找“喫CPU”的進程)
- M:按內存使用率從高到低排序(快速找“喫內存”的進程)
- 1:顯示每個CPU核心的使用率(多核CPU必備,如4核會顯示4行CPU信息)
- k:終止進程(輸入目標進程的PID,按回車確認終止)
- h:顯示幫助信息(列出所有快捷鍵,按q返回)
- t:切換CPU/內存彙總信息的顯示/隱藏
- m:切換內存使用的詳細顯示
四、實用場景示例¶
場景1:排查CPU高佔用進程¶
- 啓動
top後,按P(按CPU使用率排序),最上方的進程即爲CPU佔用最高的。 - 若確認該進程是異常的,按
k,輸入其PID(如1234),再按回車確認終止(需管理員權限時可加sudo)。
場景2:監控內存泄漏¶
- 按
M(按內存使用率排序),最上方的進程即爲內存佔用最高的。 - 若某進程
RES值持續升高且無回落,可能存在內存泄漏,需進一步檢查(如重啓服務或分析代碼)。
場景3:解決系統負載過高¶
- 看第一行
load average,若1分鐘負載>CPU核心數(如4核>4),需排查: - 按
P找CPU高佔用進程,若wa(IO等待)>20%,可能是硬盤/網絡慢,需優化IO(如換SSD); - 若
us(用戶態)高,可能是程序代碼效率低,需優化程序。
五、總結¶
top命令是Linux系統中最基礎也最實用的“系統儀表盤”,通過它能即時掌握CPU、內存、進程的狀態,快速定位資源瓶頸。對初學者而言,不必死記硬背所有參數,只需熟悉P(CPU排序)、M(內存排序)、1(多核CPU)、k(終止進程)、q(退出)這幾個核心快捷鍵,就能輕鬆應對大部分日常監控需求。多在終端實踐幾次,你會發現它的強大之處!