首页主机资讯centos swapper更新方法

centos swapper更新方法

时间2025-10-30 20:50:03发布访客分类主机资讯浏览451
导读:CentOS “swapper”(交换空间)更新方法 在CentOS系统中,"swapper"通常指交换分区(swap partition)或交换文件(swap file),用于扩展虚拟内存。以下是常见的更新操作(包括创建、调整大小、删除及...

CentOS “swapper”(交换空间)更新方法
在CentOS系统中,"swapper"通常指交换分区(swap partition)交换文件(swap file),用于扩展虚拟内存。以下是常见的更新操作(包括创建、调整大小、删除及优化):

一、查看当前交换空间状态

在更新前,需确认现有交换空间的使用情况,使用以下命令:

free -h                  # 查看内存与交换空间总量及使用率
swapon --show            # 查看已启用的交换分区/文件详情
swapon -s                # 以表格形式显示交换空间信息
cat /proc/swaps          # 查看内核级别的交换空间信息

二、创建新的交换空间

1. 创建交换文件(推荐,无需磁盘分区)

若需快速增加交换空间,优先选择交换文件(无需修改磁盘分区表):

# 创建指定大小的交换文件(例如4GB,可根据需求调整count值:1M×4096=4G)
sudo fallocate -l 4G /swapfile  
# 或使用dd命令(速度较慢,但兼容性更好):
# sudo dd if=/dev/zero of=/swapfile bs=1M count=4096

# 设置严格的文件权限(仅root可读写,防止误操作)
sudo chmod 600 /swapfile

# 格式化为交换文件系统
sudo mkswap /swapfile

# 启用交换文件
sudo swapon /swapfile

# 验证是否启用成功
swapon --show

持久化配置:编辑/etc/fstab文件,添加以下行,确保系统重启后自动挂载:

echo "/swapfile swap swap defaults 0 0" | sudo tee -a /etc/fstab

2. 创建交换分区(需磁盘分区操作)

若需更稳定的交换空间(如服务器环境),可选择创建交换分区:

# 使用fdisk/parted创建新分区(例如/dev/sdb1)
sudo fdisk /dev/sdb  
# 操作步骤:n(新建分区)→ p(主分区)→ 设置分区大小 → t(修改分区类型)→ 82(Linux swap类型)→ w(保存并退出)

# 格式化分区为交换空间
sudo mkswap /dev/sdb1

# 启用交换分区
sudo swapon /dev/sdb1

# 验证是否启用成功
swapon --show

持久化配置:编辑/etc/fstab文件,添加以下行:

echo "/dev/sdb1 swap swap defaults 0 0" | sudo tee -a /etc/fstab

三、调整现有交换空间大小

1. 调整交换文件大小

若需扩大交换文件,需先禁用原有文件,再重新创建:

# 禁用现有交换文件
sudo swapoff /swapfile

# 调整文件大小(例如扩大至8GB)
sudo fallocate -l 8G /swapfile  
# 或使用dd命令:
# sudo dd if=/dev/zero of=/swapfile bs=1M count=8192

# 重新格式化
sudo mkswap /swapfile

# 重新启用
sudo swapon /swapfile

# 更新/etc/fstab(保持原有行不变,系统会自动应用新大小)

2. 调整交换分区大小

调整分区大小需借助LVM(逻辑卷管理)或手动修改分区表(风险较高,建议备份数据):

  • LVM方式(推荐)
    # 扩展物理卷(假设逻辑卷名为vg_name/swap_lv)
    sudo lvextend -L +2G /dev/vg_name/swap_lv  
    
    # 重新格式化并启用
    sudo mkswap /dev/vg_name/swap_lv
    sudo swapon /dev/vg_name/swap_lv
    
  • 手动分区方式
    需使用fdisk/parted缩小/扩大分区,再执行mkswapswapon(操作复杂,易导致数据丢失)。

四、删除交换空间

若需移除交换空间,需先禁用再删除配置:

1. 删除交换文件

# 禁用交换文件
sudo swapoff /swapfile

# 删除文件
sudo rm -f /swapfile

# 注释或删除/etc/fstab中的对应行
sudo sed -i '/\/swapfile/d' /etc/fstab

2. 删除交换分区

# 禁用交换分区
sudo swapoff /dev/sdb1

# 删除分区(使用fdisk/parted修改分区表,将分区类型改为非swap)

# 注释或删除/etc/fstab中的对应行
sudo sed -i '/\/dev\/sdb1/d' /etc/fstab

五、优化交换空间使用

1. 调整Swappiness值

Swappiness参数(范围0-100)决定系统使用交换空间的倾向:

  • 值越高(如100),系统越倾向于使用交换空间;
  • 值越低(如0),系统越倾向于保留内存中的数据(适用于内存充足的服务器)。

临时调整

sudo sysctl vm.swappiness=10  # 设置为10(推荐值,平衡性能与内存使用)

永久生效:编辑/etc/sysctl.conf文件,添加以下行:

echo "vm.swappiness = 10" | sudo tee -a /etc/sysctl.conf

2. 监控交换空间使用

定期使用以下命令监控交换空间状态,确保存储空间充足:

free -h                  # 查看内存与交换空间使用率
swapon -s                # 查看交换空间详情
top/htop                 # 查看进程内存占用(找出占用内存高的进程)

注意事项

  • 操作前请备份重要数据,尤其是调整分区大小时;
  • 交换空间并非越多越好,建议为物理内存的1-2倍(内存≥8GB时,可适当减少);
  • 生产环境中,优先使用LVM管理交换空间,便于后续扩展。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: centos swapper更新方法
本文地址: https://pptw.com/jishu/739260.html
centos中sqladmin故障排查指南 centos中trigger命令怎么用

游客 回复需填写必要信息