centos

centos swap占用高怎么办

小樊
56
2025-08-12 13:34:01
栏目: 智能运维

CentOS系统Swap占用高可按以下步骤处理:

  1. 查看Swap使用情况:用free -hswapon --show命令查看当前Swap使用量。
  2. 定位高占用进程:通过top命令按%MEM排序,或使用for file in /proc/*/status; do awk '/VmSwap|Name|^Pid/{printf $2 " " $3} END{ print ""}' $file; done | sort -k 3 -n -r | head找出占用Swap多的进程,必要时用kill终止非关键进程。
  3. 调整Swappiness参数
    • 临时降低:sudo sysctl vm.swappiness=10(数值越低,系统越少使用Swap)。
    • 永久生效:在/etc/sysctl.conf中添加vm.swappiness=10,执行sudo sysctl -p
  4. 优化内存或扩展资源
    • 关闭不必要的服务:sudo systemctl stop 服务名
    • 优化应用程序配置(如数据库调整SGA/PGA大小)。
    • 若频繁使用Swap,考虑增加物理内存。
  5. 管理Swap分区/文件
    • 若使用Swap文件,可调整大小或重新创建(如sudo fallocate -l 2G /swapfile,格式化后启用)。
    • 禁用不必要的Swap分区:sudo swapoff /dev/sdXN
  6. 清理缓存:执行sudo echo 3 > /proc/sys/vm/drop_caches释放页面缓存(谨慎操作,可能影响性能)。

注意:操作前确保有足够物理内存,避免因过度释放Swap导致系统不稳定。

0
看了该问题的人还看了