centos swapper更新方法
导读: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缩小/扩大分区,再执行mkswap和swapon(操作复杂,易导致数据丢失)。
四、删除交换空间
若需移除交换空间,需先禁用再删除配置:
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
