CentOS Swap使用技巧
导读:1. 创建与配置Swap空间 Swap分为Swap文件(灵活易管理)和Swap分区(传统方式)两种类型。 Swap文件创建步骤:使用dd命令创建指定大小的文件(如10GB):sudo dd if=/dev/zero of=/swapfil...
1. 创建与配置Swap空间
Swap分为Swap文件(灵活易管理)和Swap分区(传统方式)两种类型。
- Swap文件创建步骤:使用
dd
命令创建指定大小的文件(如10GB):sudo dd if=/dev/zero of=/swapfile bs=1G count=10
;设置严格权限(仅root可读写):sudo chmod 600 /swapfile
;格式化为Swap空间:sudo mkswap /swapfile
;启用Swap:sudo swapon /swapfile
;配置开机自动挂载:编辑/etc/fstab
,添加/swapfile swap swap defaults 0 0
。 - Swap分区创建步骤:使用
fdisk
或parted
工具创建分区(如/dev/sdb1
);格式化分区:sudo mkswap /dev/sdb1
;启用分区:sudo swapon /dev/sdb1
;添加到/etc/fstab
:/dev/sdb1 none swap sw 0 0
。
2. 调整Swappiness参数(关键优化项)
vm.swappiness
(范围0-100)控制系统使用Swap的倾向:
- 值越高(如默认60),系统越倾向于使用Swap;
- 值越低(如10-30),系统越倾向于保留内存中的数据,减少Swap使用(适用于内存充足的服务器)。
- 操作方法:临时调整(立即生效):
sudo sysctl vm.swappiness=10
;永久调整(重启后生效):编辑/etc/sysctl.conf
,添加vm.swappiness=10
,然后运行sudo sysctl -p
使配置生效。
3. 优化Swap性能
- 使用SSD存储Swap:SSD的读写速度远高于HDD,能显著提升Swap操作的性能(如将Swap文件放在SSD分区)。
- 使用Zram(压缩内存Swap):Zram将内存压缩后作为Swap空间,减少磁盘I/O,提升性能。操作步骤:安装
zram-config
(sudo yum install zram-config
);启动服务(sudo systemctl start zram-config
);调整大小(编辑/etc/zram-config.conf
,设置ZRAM_DEVICE_SIZE=4G
)。 - 调整内核脏页参数:通过调整
vm.dirty_ratio
(脏页占内存比例,如10%)和vm.dirty_background_ratio
(后台刷新脏页的阈值,如5%),减少Swap因频繁写入磁盘导致的性能下降。编辑/etc/sysctl.conf
添加:vm.dirty_ratio=10
、vm.dirty_background_ratio=5
,运行sudo sysctl -p
生效。
4. 监控Swap使用情况
定期监控Swap状态,及时发现异常(如Swap使用率持续接近100%):
- 查看Swap总体使用情况:
free -h
(直观显示内存与Swap的用量);swapon --show
(列出当前启用的Swap设备及大小);cat /proc/swaps
(详细显示Swap设备信息)。 - 实时监控系统内存与Swap使用:
top
(按Shift+M
排序内存占用)、htop
(更直观的资源监控工具)、vmstat 1
(每秒刷新一次系统状态,关注si
(Swap In)和so
(Swap Out)列)。
5. 调整Swap大小(动态适配需求)
- 增加Swap大小:若当前Swap使用率过高,可通过创建新的Swap文件扩展。例如,添加2GB Swap:
sudo fallocate -l 2G /new_swapfile
;设置权限:sudo chmod 600 /new_swapfile
;格式化:sudo mkswap /new_swapfile
;启用:sudo swapon /new_swapfile
;添加到/etc/fstab
:/new_swapfile swap swap defaults 0 0
。 - 减少Swap大小:若Swap使用率极低(如长期低于20%),可缩小Swap空间。操作前需禁用Swap:
sudo swapoff /swapfile
;删除原文件:sudo rm -f /swapfile
;创建新文件(如1GB):sudo fallocate -l 1G /swapfile
;格式化并启用;更新/etc/fstab
。
6. 避免过度依赖Swap
- 增加物理内存:Swap是内存不足时的应急方案,长期依赖会导致系统性能严重下降(如磁盘I/O瓶颈),优先考虑升级物理内存。
- 优化应用程序:排查内存泄漏的应用(如使用
top
查看内存占用高的进程),修复代码或替换为更轻量的应用(如用nginx
替代apache
处理静态请求)。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: CentOS Swap使用技巧
本文地址: https://pptw.com/jishu/717304.html