如何快速解决CentOS系统中Swap资源占用过高的问题?
- 内容介绍
- 文章标签
- 相关推荐
为什么CentOS程序的Swap资源会被占满?不过,
当你发现服务器变得异常缓慢、应用响应延迟、甚至出现OOM杀死进程时很可能是因为物理内存不足。程序被迫频繁使用Swap分区。此时Swap使用率飙升,直接拖慢磁盘I/O,导致整体性能骤降。
典型痛点
- 内存不足导致频繁换页:程序卡顿、响应时间变长。
- 磁盘I/O激增:Swap读写消耗大量IOPS,影响其他服务。
- 业务不稳定:关键进程可能被OOM killer终止。怎么说呢,
- 运维压力大:需要频繁登录机器查看top/free,手动干预。
快速定位占用Swap最高的进程
先用以下命令找出“罪魁祸首”:
# 查看每个进程的Swap使用量。并按降序排列
awk '{printf "%-10s %-6s %-8s %s
",$1,$2,$6,$0}' /proc/*/status 2>/dev/null |
grep -E 'VmSwap|Name|Pid' |
awk '/VmSwap/{swap=$2;
pid=$1} /Name/{name=$2} /Pid/{if printf "%-6s %-8s %6s KB %s
",pid,name,swap,$0}' |
sort -k4 -nr | head -n 10
或者更简洁的方式:
ps aux --sort=-%mem | head -n 10 # 按内存使用率排序。为什么CentOS程序的Swap资源会被占满?不过,
当你发现服务器变得异常缓慢、应用响应延迟、甚至出现OOM杀死进程时很可能是因为物理内存不足。程序被迫频繁使用Swap分区。此时Swap使用率飙升,直接拖慢磁盘I/O,导致整体性能骤降。
典型痛点
- 内存不足导致频繁换页:程序卡顿、响应时间变长。
- 磁盘I/O激增:Swap读写消耗大量IOPS,影响其他服务。
- 业务不稳定:关键进程可能被OOM killer终止。怎么说呢,
- 运维压力大:需要频繁登录机器查看top/free,手动干预。
快速定位占用Swap最高的进程
先用以下命令找出“罪魁祸首”:
# 查看每个进程的Swap使用量。并按降序排列
awk '{printf "%-10s %-6s %-8s %s
",$1,$2,$6,$0}' /proc/*/status 2>/dev/null |
grep -E 'VmSwap|Name|Pid' |
awk '/VmSwap/{swap=$2;
pid=$1} /Name/{name=$2} /Pid/{if printf "%-6s %-8s %6s KB %s
",pid,name,swap,$0}' |
sort -k4 -nr | head -n 10
或者更简洁的方式:
ps aux --sort=-%mem | head -n 10 # 按内存使用率排序。
