// PC530 技术论坛 v1.0
● online 登录 / 注册
返回列表
运维与云原生 #运维

【运维】Linux 服务器实战(6):进程与 CPU/内存/IO 监控


Linux 服务器实战 · 第 6 篇
CPU 飙高、内存没了、磁盘 wait 100%——用 ps + vmstat + iotop 快速定位。


1. 进程 TOP 榜

# CPU 占用前 10
ps aux --sort=-%cpu | head -11

# 内存占用前 10
ps aux --sort=-%mem | head -11

# 按名查找
pgrep -a nginx
pgrep -a python
ps -ef | grep gunicorn | grep -v grep
交互式:

```bash
htop    # 无则 apt install htop  
top -c
---

## 2. vmstat:系统级快照

```bash
vmstat 1 5
vmstat 1 3 -S M -w
| 列 | 含义 | 告警直觉 |
|----|------|----------|
| r | 运行队列 | 长期 > CPU 核数 → CPU 瓶颈 |
| b | 不可中断睡眠 | 高 → 可能 IO 等 |
| swpd / si / so | swap 使用与换入换出 | si/so 持续 >0 → 内存不够 |
| bi / bo | 块 IO | 持续高 → 磁盘忙 |
| us / sy / id / wa | 用户/内核/空闲/等 IO | wa 高 → IO 瓶颈 |
| cs | 上下文切换 | 过高 → 线程过多或 syscall 频繁 |

---

## 3. 磁盘 IO

```bash
sudo apt install -y sysstat iotop  
iostat -xz 1 3  
sudo iotop -oPa
记录超 1MB/s 的进程(cron 示例):

```bash
sudo iotop -bo -n 2 | grep 'M/s' >> /var/log/disk-io.log
---

## 4. 内存详解

```bash
free -h
Linux `available` 含可回收 cache,**不要只看 free 列**。

---

## 5. 按场景排查

### CPU 高

```bash
ps aux --sort=-%cpu | head
sudo perf top    # 可选,需 linux-tools
sudo journalctl -u SUSPECT -n 50 --no-pager
### 内存 / OOM

```bash
free -h  
dmesg -T | grep -i 'out of memory'  
sudo journalctl -k | grep -i oom
### 负载高但 CPU 不高

→ 看 `iostat`、`iotop`(IO wait)或 `dmesg`(磁盘错误)。

---

## 6. 按端口杀进程(再次提醒)

```bash
sudo lsof -t -i:8000 -sTCP:LISTEN | xargs -r sudo kill
# 强制:kill -9(最后手段)
---

## 本篇速查

```bash
ps aux --sort=-%mem | head  
vmstat 1 5  
sudo iotop -oPa  
dmesg -T | grep -i oom

```


系列导航

主题
1–5 见前篇
6 性能监控(本文)
7 故障诊断
8 部署与 Cron