当CentOS系统的Swap空间满了时,你可以采取以下几种方法来清理:
这是最简单的方法,但需要注意的是,这会导致所有正在使用Swap分区的进程暂时中断。
# 关闭所有Swap分区
sudo swapoff -a
# 等待一段时间,让系统将内存中的数据写回磁盘
sleep 10
# 重新启用Swap分区
sudo swapon -a
# 验证Swap分区是否已清空
free -h
如果系统使用LVM管理磁盘,可以删除并重新创建Swap分区。
# 查看当前Swap分区信息
sudo lvdisplay
# 删除Swap分区
sudo lvremove /dev/mapper/vg_hostname-lv_swap
# 创建新的Swap分区(需要根据实际情况调整大小)
sudo lvcreate -L 1G -n lv_swap vg_hostname
# 格式化新的Swap分区为Swap格式
sudo mkswap /dev/mapper/vg_hostname-lv_swap
# 重新启用Swap分区
sudo swapon /dev/mapper/vg_hostname-lv_swap
# 验证Swap分区是否已重新启用
free -h
通过调整Swappiness参数,可以减少系统对Swap分区的使用。
# 临时调整Swappiness参数
sudo sysctl vm.swappiness=10
# 永久调整Swappiness参数,需要将设置写入/etc/sysctl.conf文件
echo "vm.swappiness=10" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
清理系统缓存和页面缓存可以释放部分内存。
# 清理页面缓存和dentries/inodes缓存
sudo echo 3 | sudo tee /proc/sys/vm/drop_caches
# 验证内存是否已释放
free -h
在执行上述操作之前,请确保你有足够的物理内存来支持这些操作,否则可能会导致系统出现OOM(Out of Memory)错误,从而随机杀死进程。此外,对于使用LVM管理磁盘的系统,操作可能会更加复杂,需要谨慎操作以避免数据丢失。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
相关推荐:centos swap空间满了怎么办