centos

centos swapper更新方法

小樊
47
2025-10-30 09:53:43
栏目: 智能运维

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(逻辑卷管理)或手动修改分区表(风险较高,建议备份数据):

四、删除交换空间

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

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)决定系统使用交换空间的倾向:

临时调整

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                 # 查看进程内存占用(找出占用内存高的进程)

注意事项

0
看了该问题的人还看了