運(yùn)維工程師必備:Linux系統(tǒng)監(jiān)控與故障排查的命令大全
在日常運(yùn)維工作中,快速獲取系統(tǒng)狀態(tài)信息至關(guān)重要。以下整理了常用的Linux監(jiān)控命令,按功能分類(lèi)并附使用示例:
一、系統(tǒng)概覽信息
| 命令 | 功能 | 示例輸出 |
|---|---|---|
hostname | 查看主機(jī)名 | web-server-01 |
uname -a | 系統(tǒng)內(nèi)核信息 | Linux db01 5.4.0-131-generic #148-Ubuntu SMP |
cat /etc/os-release | 操作系統(tǒng)版本 | PRETTY_NAME="Ubuntu 20.04.4 LTS" |
uptime | 運(yùn)行時(shí)間與負(fù)載 | 18:05:01 up 45 days, 3:21, 1 user, load average: 0.08, 0.03, 0.05 |
date | 系統(tǒng)時(shí)間 | Thu Aug 18 18:05:24 CST 2023 |
二、CPU監(jiān)控
| 命令 | 功能 | 關(guān)鍵指標(biāo) |
|---|---|---|
lscpu | CPU架構(gòu)信息 | 核心數(shù)/線程數(shù)/型號(hào) |
top -bn1 | 實(shí)時(shí)CPU使用率 | %Cpu(s): 12.3 us, 6.2 sy |
mpstat -P ALL | 多核CPU詳細(xì)統(tǒng)計(jì) | 各核心的user/sys/idle占比 |
sar -u 2 5 | 周期性CPU采樣 | 平均使用率趨勢(shì) |
vmstat 1 | 綜合性能監(jiān)控 | r(運(yùn)行隊(duì)列)/b(阻塞進(jìn)程) |
高級(jí)技巧:
# 按CPU使用率排序進(jìn)程 ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu | head -n 10
三、內(nèi)存監(jiān)控
| 命令 | 功能 | 關(guān)鍵指標(biāo) |
|---|---|---|
free -m | 內(nèi)存總量與使用 | Mem: 32042 29582 2460 |
vmstat -s | 詳細(xì)內(nèi)存統(tǒng)計(jì) | active/inactive memory |
cat /proc/meminfo | 內(nèi)存詳細(xì)信息 | MemTotal/Cached/Swap |
slabtop | 內(nèi)核slab緩存 | 內(nèi)核對(duì)象緩存使用 |
內(nèi)存泄漏排查:
# 監(jiān)控進(jìn)程內(nèi)存變化 watch -n 1 "ps -eo pid,cmd,rss --sort=-rss | head -n 5"
四、磁盤(pán)監(jiān)控
| 命令 | 功能 | 關(guān)鍵指標(biāo) |
|---|---|---|
df -h | 磁盤(pán)空間使用 | /dev/sda1 98G 45G 48G 49% / |
iostat -dx 2 | 磁盤(pán)IO性能 | await(ms)/util(%) |
iotop | 實(shí)時(shí)IO進(jìn)程 | 進(jìn)程級(jí)讀寫(xiě)速率 |
| `du -sh /* | sort -hr` | 目錄大小排序 |
lsblk | 塊設(shè)備信息 | 磁盤(pán)分區(qū)/掛載點(diǎn) |
IO瓶頸診斷:
# 定位高IO進(jìn)程 pidstat -d 1
五、網(wǎng)絡(luò)監(jiān)控
| 命令 | 功能 | 關(guān)鍵指標(biāo) |
|---|---|---|
ifconfig/ip addr | 網(wǎng)絡(luò)接口信息 | IP地址/RX/TX包量 |
netstat -tulnp | 端口監(jiān)聽(tīng)狀態(tài) | 服務(wù)端口/PID |
ss -s | 連接統(tǒng)計(jì) | Total: 987 (kernel 0) |
tcpdump -i eth0 | 網(wǎng)絡(luò)包捕獲 | 實(shí)時(shí)流量分析 |
iftop -P | 帶寬使用排名 | 主機(jī)級(jí)流量統(tǒng)計(jì) |
連接分析:
# 查看ESTABLISHED連接數(shù) netstat -an | grep ESTABLISHED | wc -l
六、進(jìn)程與服務(wù)監(jiān)控
| 命令 | 功能 | 關(guān)鍵指標(biāo) |
|---|---|---|
ps aux | 進(jìn)程列表 | CPU/MEM使用率 |
pidstat 1 | 進(jìn)程資源統(tǒng)計(jì) | %CPU/%MEM |
systemctl status | 服務(wù)狀態(tài) | Active(running) |
journalctl -u nginx | 服務(wù)日志 | 服務(wù)運(yùn)行日志 |
lsof -p <PID> | 進(jìn)程打開(kāi)文件 | 文件描述符 |
進(jìn)程樹(shù)查看:
# 顯示進(jìn)程樹(shù)關(guān)系 pstree -ap
七、高級(jí)監(jiān)控工具
實(shí)時(shí)監(jiān)控面板
htop:增強(qiáng)版top(支持鼠標(biāo)操作)glances:全能監(jiān)控面板(需安裝)nmon:專(zhuān)業(yè)性能監(jiān)控工具
日志分析
# 查看包含ERROR的最新日志
tail -f /var/log/syslog | grep -i error
# 統(tǒng)計(jì)404錯(cuò)誤次數(shù)
awk '$9==404 {print $7}' access.log | sort | uniq -c | sort -nr
性能分析
perf top:CPU熱點(diǎn)函數(shù)分析strace -p <PID>:系統(tǒng)調(diào)用跟蹤dstat:綜合性能統(tǒng)計(jì)工具
八、最佳實(shí)踐建議
命令組合使用
# 單行獲取關(guān)鍵指標(biāo)
echo "Load:$(uptime | awk -F'load average: ' '{print $2}') | Mem:$(free -m | awk '/Mem/{print $3"/"$2"MB"}')"
監(jiān)控自動(dòng)化
- 使用
cron定期收集指標(biāo) - 通過(guò)
tee同時(shí)輸出到屏幕和文件 - 編寫(xiě)腳本格式化輸出(如本文示例)
安全注意事項(xiàng)
- 避免在生產(chǎn)環(huán)境直接修改配置
- 使用
nohup執(zhí)行長(zhǎng)時(shí)間任務(wù) - 敏感命令添加
-i交互確認(rèn)
運(yùn)維箴言:掌握這些命令如同獲得系統(tǒng)"聽(tīng)診器",但真正的價(jià)值在于理解數(shù)據(jù)背后的意義。建議建立自己的命令手冊(cè),定期練習(xí)形成肌肉記憶。
通過(guò)熟練使用這些命令,運(yùn)維工程師可以快速診斷系統(tǒng)瓶頸,有效處理故障,保障業(yè)務(wù)穩(wěn)定運(yùn)行。記?。汉玫倪\(yùn)維不是救火隊(duì)員,而是通過(guò)監(jiān)控提前發(fā)現(xiàn)隱患的守護(hù)者。
以上就是運(yùn)維工程師必備:Linux系統(tǒng)監(jiān)控與故障排查的命令大全的詳細(xì)內(nèi)容,更多關(guān)于Linux系統(tǒng)監(jiān)控與故障排查的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Ubuntu 14.04下安裝和配置redis數(shù)據(jù)庫(kù)
安裝Redis服務(wù)器,會(huì)自動(dòng)地一起安裝Redis命令行客戶(hù)端程序。在本機(jī)輸入redis-cli命令就可以啟動(dòng),客戶(hù)端程序訪問(wèn)Redis服務(wù)器。2016-04-04
安裝ubuntu18.04報(bào):failed to load ldlinux.c32的問(wèn)題及解決步驟
這篇文章主要介紹了安裝ubuntu18.04報(bào):failed to load ldlinux.c32的問(wèn)題,本文通過(guò)圖文并茂的形式給大家分享解決方法,需要的朋友可以參考下2020-08-08
LNAMP架構(gòu)中后端Apache獲取用戶(hù)真實(shí)IP地址的2種方法
Nginx作為前端,Apache作為后端的情況下,Apache只能獲取到Nginx前端的ip地址(127.0.0.1),而無(wú)法獲取到用戶(hù)的真實(shí)ip地址,在這種情況下,后端Apache如何獲取用戶(hù)真實(shí)IP地址?2014-03-03
10大HBase常見(jiàn)運(yùn)維工具整理小結(jié)
這篇文章主要介紹了10大HBase常見(jiàn)運(yùn)維工具整理小結(jié),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2020-07-07
Linux高并發(fā)場(chǎng)景下的網(wǎng)絡(luò)參數(shù)調(diào)優(yōu)實(shí)戰(zhàn)指南
在高并發(fā)網(wǎng)絡(luò)服務(wù)場(chǎng)景中,Linux內(nèi)核的默認(rèn)網(wǎng)絡(luò)參數(shù)往往無(wú)法滿足需求,導(dǎo)致性能瓶頸、連接超時(shí)甚至服務(wù)崩潰,本文基于真實(shí)案例分析,從參數(shù)解讀、問(wèn)題診斷到優(yōu)化實(shí)踐,手把手教你如何調(diào)優(yōu)Linux網(wǎng)絡(luò)參數(shù),支撐百萬(wàn)級(jí)并發(fā)連接,需要的朋友可以參考下2025-05-05
sersync實(shí)現(xiàn)數(shù)據(jù)實(shí)時(shí)同步的方法
下面小編就為大家分享一篇sersync實(shí)現(xiàn)數(shù)據(jù)實(shí)時(shí)同步的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2017-12-12
在Linux和Windows下安裝nc(netcat)的詳細(xì)步驟
本文詳細(xì)介紹了在Linux和Windows系統(tǒng)下安裝netcat(nc)的方法,對(duì)于Linux系統(tǒng),使用APT包管理器安裝,推薦使用netcat-openbsd;對(duì)于Windows系統(tǒng),推薦使用Nmap自帶的Ncat或者下載獨(dú)立版Netcat,需要的朋友可以參考下2025-10-10

