Linux swap启动项怎么设置
Linux Swap启动项设置指南
Swap是Linux系统中用于扩展虚拟内存的关键机制,当物理内存不足时,系统会将不活跃的内存数据暂存到硬盘的Swap空间,防止进程因内存耗尽被强制终止。以下是Swap启动项(开机自动启用)的详细设置步骤,涵盖文件与分区两种常见形式:
一、前置准备:创建Swap空间
Swap空间可以是Swap文件(灵活易管理)或Swap分区(传统方式,需提前划分磁盘分区)。以下以Swap文件为例(推荐新手使用):
1. 创建Swap文件
使用fallocate命令快速生成指定大小的空文件(如4GB):
sudo fallocate -l 4G /swapfile
若fallocate不可用,可用dd命令替代(速度较慢):
sudo dd if=/dev/zero of=/swapfile bs=1M count=4096
注:bs为块大小(1M),count为块数量(4096块=4GB),可根据需求调整。
2. 设置文件权限
Swap文件需严格限制为root读写,避免安全风险:
sudo chmod 600 /swapfile
注:权限设置为600(仅root可读写)是Linux系统的安全规范。
3. 格式化为Swap空间
使用mkswap命令将文件格式化为Swap格式:
sudo mkswap /swapfile
执行后会输出Swap空间的UUID等信息,无需手动记录。
二、启用Swap(临时生效)
格式化完成后,立即激活Swap空间(重启后失效):
sudo swapon /swapfile
可通过以下命令验证是否启用成功:
free -h # 查看"Swap"行,显示已用/总大小
swapon --show # 显示当前启用的Swap文件/分区
三、设置开机自动启动(永久生效)
要让Swap在系统重启后自动启用,需将配置写入**/etc/fstab**(系统启动时自动挂载的配置文件):
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
注:
/swapfile:Swap文件的路径(需与创建时的路径一致);none:无挂载点(Swap无需挂载点);swap:文件系统类型(固定为swap);sw:挂载选项(defaults的简化版,适用于Swap);0 0:dump备份(0表示不备份)、fsck检查顺序(0表示不检查)。
四、可选优化:调整Swap使用策略
1. 控制Swap使用积极性(swappiness参数)
swappiness(取值0-100)决定系统使用Swap的积极程度:
- 默认值60:当物理内存使用率达40%时,开始使用Swap;
- 低值(如10):减少Swap使用,优先保留内存(适合内存充足的服务器);
- 高值(如100):积极使用Swap,释放更多内存给缓存(适合内存紧张的场景)。
临时调整(立即生效):
sudo sysctl vm.swappiness=10
永久调整(重启后保留):
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf
执行sysctl -p使配置立即生效。
2. 调整文件系统缓存压力(vfs_cache_pressure参数)
vfs_cache_pressure(取值0-100)控制内核回收用于目录和inode缓存的内存的积极性:
- 默认值100:积极回收缓存,释放内存给应用程序;
- 低值(如50):减少缓存回收,提升文件系统性能(适合频繁读写文件的场景)。
永久调整(添加到/etc/sysctl.conf):
echo 'vm.vfs_cache_pressure=50' | sudo tee -a /etc/sysctl.conf
执行sysctl -p使配置生效。
五、常见问题:删除Swap启动项
若需移除Swap启动项(如Swap文件不再需要),需执行以下步骤:
- 关闭Swap:
sudo swapoff /swapfile
- 从
/etc/fstab中删除对应行:
sudo sed -i '/swapfile/d' /etc/fstab
- (可选)删除Swap文件:
sudo rm /swapfile
通过以上步骤,即可完成Linux系统中Swap启动项的设置与优化,确保系统在内存不足时能稳定运行。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Linux swap启动项怎么设置
本文地址: https://pptw.com/jishu/735184.html
