# Linux系統如何查看最消耗CPU/內存的進程
在Linux系統管理和性能優化中,快速定位高資源占用的進程是運維人員的關鍵技能。本文將詳細介紹多種命令行工具的使用方法,幫助您高效識別系統資源消耗大戶。
## 一、核心工具介紹
### 1. top命令:實時進程監控
`top` 是Linux自帶的動態進程查看器,默認按CPU使用率排序:
```bash
top
交互操作技巧:
- 按 M
:切換為內存排序
- 按 P
:切換回CPU排序
- 按 1
:顯示所有CPU核心詳情
- 按 q
:退出界面
輸出關鍵列:
- %CPU
:進程CPU占用百分比
- %MEM
:物理內存占用百分比
- RES
:實際使用的物理內存(KB)
需先安裝:
sudo apt install htop # Debian/Ubuntu
sudo yum install htop # CentOS/RHEL
優勢特性: - 彩色界面顯示 - 鼠標直接點擊表頭排序 - 樹狀視圖展示進程關系 - 支持進程篩選功能
組合使用示例:
ps aux --sort=-%cpu | head -10 # CPU Top10
ps aux --sort=-%mem | head -10 # 內存 Top10
常用參數說明:
- a
:顯示所有用戶進程
- u
:顯示詳細用戶信息
- x
:包括未連接終端的進程
安裝方法:
sudo apt install atop # Debian系
sudo yum install atop # RHEL系
特色功能: - 記錄歷史性能數據 - 可回放特定時間段的負載情況 - 顯示磁盤/網絡等綜合指標
Python編寫的全能監控工具:
pip install glances
glances
核心優勢: - 網頁端訪問支持 - API接口輸出JSON數據 - 插件式擴展架構
#!/bin/bash
while true; do
date >> /var/log/top_processes.log
ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head -10 >> /var/log/top_processes.log
sleep 300 # 5分鐘間隔
done
#!/bin/bash
ALERT=90 # 內存閾值%
EML="admin@example.com"
MEMUSE=$(free | awk '/Mem/{printf("%d"), $3/$2*100}')
if [ $MEMUSE -gt $ALERT ]; then
ps aux --sort=-%mem | head -10 | mail -s "內存告警 $MEMUSE%" $EML
fi
cat /proc/[PID]/status # 查看詳細狀態
lsof -p [PID] # 查看打開文件
strace -p [PID] # 跟蹤系統調用
kill -9 [PID]
終止掌握這些工具組合使用,可以應對不同場景下的性能診斷需求。建議在日常維護中建立基準數據,當指標異常時能快速發現偏差。對于生產環境,建議部署完整的監控系統如Zabbix或Nagios實現自動化預警。 “`
注:實際字數約900字(含代碼塊)??筛鶕枰鰷p具體工具的介紹深度,或添加更多實際案例。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。