Ubuntu Swapper监控指南
一 概念澄清
二 快速查看交换空间使用
free -h(关注 Swap 行)swapon --show 或 cat /proc/swapsvmstat -s | grep -i swap三 实时与历史监控
top/htop(查看整体资源与 Swap 使用;htop界面更友好)vmstat 1(观察 si/so(换入/换出)是否持续非零,判断是否发生活跃换页)iostat -xz 1(当 swap 位于磁盘/NVMe 上时,持续读写可能意味着内存紧张)sar -S(查看历史 swap 统计,需预先安装并启用 sysstat 服务)四 深入观测 swapper 进程行为
sudo apt-get install systemtapprobe scheduler.cpu_off {
printf("%20s (%5d) %5s %20s (%5d), idle:%d\n",
task_execname(task_prev), task_pid(task_prev),
"==>", task_execname(task_next), task_pid(task_next), idle)
}
sudo stap swapper_monitor.stpidle==1 表示 CPU 进入空闲,即 swapper 在运行;该方式用于性能分析与故障排查,普通监控不必使用。sudo perf top 或针对特定工作负载进行采样分析(如 sudo perf record -a sleep 10 后 perf report)五 告警与优化建议
free 或 vmstat 显示 Swap used 持续增长,或 vmstat 的 si/so 持续非零,说明存在内存压力与活跃换页。iostat 显示 swap 所在磁盘 await/svctm 升高,说明换页引发 I/O 瓶颈。sudo sysctl vm.swappiness=10;永久写入 /etc/sysctl.d/99-swappiness.conf 为 vm.swappiness=10(数值越低越倾向使用物理内存)。sar -S 的历史数据判断调优效果与趋势。