透過 SSH 終端工具(SecureCRT、Xshell、PuTTY、Tabby 等)連線 Linux 伺服器,結合系統內建命令可全方位掌握 CPU、記憶體、磁碟、網路、進程等資源狀態。本文整理最實用的查看命令與輸出解讀技巧。
systemctl status sshdfirewall-cmd --add-port=22/tcp --permanent| 資源維度 | 命令 | 關鍵參數/輸出解讀 |
|---|---|---|
| CPU/負載 | top / htop | 負載 1/5/15 分鐘、CPU% 佔用、進程排序(P/M/T) |
| 記憶體 | free -h | total/used/free/available、buff/cache 區分 |
| 磁碟空間 | df -hT | 掛載點、類型、使用率(>80% 預警) |
| 磁碟 I/O | iostat -xz 1 | %util、await、svctm、r/s、w/s |
| 網路連線 | ss -antulp / netstat -antulp | 狀態、PID/Program、監聽埠 |
| 網路流量 | iftop -n / nethogs | 連線級/進程級流量排序 |
| 進程詳情 | ps auxf / pstree -p | 樹狀結構、父子關係、啟動參數 |
| 特定使用者進程 | ps -u 用戶名 -o pid,ppid,cmd,%cpu,%mem | 自訂輸出欄位 |
| 開啟檔案 | lsof -p PID / lsof -i :PORT | 進程開啟檔案/佔用埠 |
| 系統資訊 | uname -a / cat /etc/os-release | 核心版本、發行版資訊 |
| 硬體資訊 | lscpu / lsmem / lsblk / lspci | CPU/記憶體/區塊裝置/PCI 設備樹 |
#!/bin/bash
# health_check.sh
echo "=== $(date) ==="
echo "--- Load & Uptime ---"; uptime
echo "--- Memory ---"; free -h
echo "--- Disk Usage ---"; df -hT | grep -v tmpfs
echo "--- Top 5 CPU Processes ---"; ps aux --sort=-%cpu | head -6
echo "--- Top 5 MEM Processes ---"; ps aux --sort=-%mem | head -6
echo "--- Listening Ports ---"; ss -ltnp | grep -v State
echo "--- Failed systemd Units ---"; systemctl --failed
部署到 /usr/local/bin/health_check,賦予執行權限,隨時輸入 health_check 獲取系統快照。
Ctrl+Shift+T 開啟新分頁、Ctrl+Tab 切換 Session。View → Tiled Tab Groups,對多台伺服器同時執行命令。lrzsz,拖曳檔案上傳/下載,無需 SFTP 客戶端。| 誤區 | 正確認知 |
|---|---|
free -m 的 used 即實際佔用 | Linux 將閒置記憶體用作 buff/cache,available 才是真正可用 |
top 中 %CPU 超過 100% 是錯誤 | 多核心系統下,%CPU 上限為 核心數 * 100% |
df 與 du 結果不一致 | 已刪除但被進程持有的檔案佔用空間,lsof | grep deleted 定位 |
| 只看負載不看 CPU 使用率 | 負載包含不可中斷睡眠進程(I/O 等待),需結合 top wa% 判斷 |
熟練運用終端工具與系統命令,能在最短時間內定位效能瓶頸、排查故障,是運維與開發的核心生存技能。
Linux crond 定時任務完整指南:crontab 語法、環境變數坑、日誌靜默、系統級 vs 用戶級
Linux 安裝 rar/unrar 壓縮解壓工具完整指南:官方二進位部署、相依修復、zip 替代方案與常見錯誤排查
Linux 系統下 assert 函式完整使用指南:編譯控制、最佳實務與常見陷阱
CentOS 安裝 GitLab 完整部署指南(含 Ruby 編譯、PostgreSQL/Redis、GitLab Shell、Nginx 整合)
Linux tee 指令完全攻略:管道分流、多檔寫入與錯誤流捕獲
Linux 安裝配置 NetPas 遊戲加速器:VirtualBox + Windows XP + NAT32 完整方案