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。