首頁 > 套件與系統管理 > top

top 命令指南:實時系統進程監控

`top` 命令(進程表)是一種在 Linux 和 Unix 類操作系統中用於實時監控系統進程活動的工具。它提供 CPU 使用率、內存使用量、正在運行的進程列表等系統當前狀態的動態概述,對於診斷性能問題和了解系統資源使用至關重要。通過本指南,您將學會 `top` 命令的基本用法和交互功能。

top 概述

`top` 會定期更新並顯示系統資源(CPU、內存、交換空間)使用情況以及每個進程的詳細信息。這使得能夠輕鬆識別哪些進程使用了大量系統資源,並能夠監控系統的整體健康狀態。

top 的主要角色

`top` 命令主要用於以下目的:

主要應用領域

  • {'key': '系統監控', 'value': '實時檢查 CPU、內存和交換空間的使用情況。'}
  • {'key': '進程管理', 'value': '了解正在運行的進程狀態,必要時終止或調整優先級。'}
  • {'key': '性能問題診斷', 'value': '分析系統速度下降或無響應現象的原因。'}
  • {'key': '資源使用優化', 'value': '識別過度使用資源的進程並採取措施。'}

top 輸出畫面組成

`top` 命令主要分為兩個部分來顯示信息:

頂部摘要信息

顯示系統的整體狀態摘要。

  • `uptime`: 系統自啟動以來的經過時間
  • `load average`: 過去 1 分鐘、5 分鐘和 15 分鐘的系統平均負載(在執行隊列中的進程數量)
  • `Tasks`: 總進程數、運行中、睡眠中、停止、僵屍進程數
  • `%Cpu(s)`: CPU 使用率(us: 用戶,sy: 系統,ni: nice,id: 空閒,wa: I/O 等待等)
  • `MiB Mem`: 物理內存(RAM)的總量、使用量、可用空間、緩衝區/緩存使用量
  • `MiB Swap`: 交換內存的總量、使用量、可用空間

底部進程列表

顯示每個正在運行的進程的詳細信息。此列表默認按 CPU 使用率(%)排序。

  • `PID`: 進程 ID
  • `USER`: 運行進程的用戶
  • `PR`: 優先級(Priority)
  • `NI`: Nice 值(用於優先級調整)
  • `VIRT`: 進程使用的虛擬內存總量
  • `RES`: 進程使用的實際物理內存(RAM)量(Resident Memory)
  • `SHR`: 進程共享的內存量(Shared Memory)
  • `S`: 進程狀態(R: 運行中,S: 睡眠,Z: 僵屍,T: 停止等)
  • `%CPU`: 進程的 CPU 使用率(實時)
  • `%MEM`: 進程的內存使用率(實時)
  • `TIME+`: 進程使用的總 CPU 時間
  • `COMMAND`: 進程執行命令

`top` vs `htop`

`htop` 是 `top` 的改進版本,提供更友好的用戶界面(顏色、鼠標支持)和功能(滾動、搜索、直接終止)。在大多數情況下,`htop` 更加方便。如果尚未安裝 `htop`,可以通過包管理器安裝(例如 `sudo apt install htop`)。

top 命令選項及交互

`top` 在啟動時可以指定命令行選項,並且在運行中可以通過各種鍵盤輸入來執行屏幕顯示方式、進程排序、終止等操作。

1. 命令行啟動選項

2. top 運行中交互鍵

生成的命令:

請試著組合命令。

這個 Django 應用程序是一個技術指南文檔,旨在為用戶輕鬆解釋 Linux 的各種命令。

`top` 執行命令。

請將上述選項組合在一起,與 AI 一同虛擬執行命令。

使用示例

通過各種 `top` 命令的應用示例來學習如何實時監控系統資源使用狀況並診斷問題。

開始基本系統監控

top

以最基本的 `top` 命令執行,系統的當前狀態和進程列表每 3 秒更新一次。

檢查 CPU 使用率最高的 5 個進程(1 秒間隔)

top -d 1 -n 5

`top` 執行後每 1 秒更新 5 次並退出。這在快速識別特定時刻的 CPU 負載原因時非常有用。

僅監控特定用戶(root)的進程

top -u root

僅過濾顯示系統中所有 `root` 用戶運行的進程。在追踪系統守護進程或服務的資源使用量時非常有用。

僅監控特定進程 ID (PID)

top -p 12345

僅實時監控 PID 為 `12345` 的單個進程。這在精確追踪特定應用程序的資源消耗時非常有用。

按內存使用率高的順序排序(運行中交互)

top # then press Shift + m

`top` 在運行中時按下 `Shift + m` 鍵將進程列表按內存使用率高的順序排序。(無法在命令行中直接指定)

終止特定進程(運行中交互)

top # then press 'k', enter PID, then optionally '9' for SIGKILL

`top` 在運行中時按下 `k` 鍵將提示您輸入要終止的進程 PID。輸入 PID 後按 `Enter` 將默認發送 SIGTERM 信號。要強制終止,請輸入信號號碼 9。


相同類別命令