创建
linux
交换分区(swap)可提升系统稳定性,适用于内存不足或运行大型程序的场景。1. 先用free -h或swapon --show查看当前swap使用情况。2. 可选择swap分区或swap文件,后者更灵活,适合云服务器,创建步骤包括生成文件、设置权限、格式化并启用。3. swap大小一般为物理内存的2~4gb(8gb内存以上),低内存系统可设为等同或两倍内存大小。4. 可通过调整swappiness值控制系统使用swap的积极性,问题如swap未使用或使用过高可根据实际情况优化程序或增加容量解决,swap文件也可安全删除。
创建Linux交换分区(Swap)其实并不复杂,但对系统稳定性和性能有一定影响。特别是在内存较小或者运行大型程序的场景下,合理配置Swap空间能有效避免系统崩溃或卡顿。下面我们就来一步步了解怎么在Linux中创建和管理Swap空间。
1. 查看当前Swap使用情况
在操作之前,先确认你是否已经有Swap空间启用。可以通过以下命令查看:
这个命令会显示当前内存和Swap的使用情况。如果你看到Swap那一行全是0,说明还没有启用任何Swap空间。
也可以用:
这个命令会列出当前所有激活的Swap设备或文件。
2. 创建Swap文件还是分区?
创建Swap有两种方式:
使用单独的分区
或者
创建Swap文件
。它们各有优劣:
Swap分区
:通常在安装系统时划分,适合长期使用,性能略好。
Swap文件
:灵活方便,适合后期扩展,尤其适用于云服务器或VPS等无法轻易调整分区的情况。
大多数现代Linux发行版都支持Swap文件,所以如果你只是想临时加一点Swap,建议使用Swap文件。
创建Swap文件的步骤如下:
创建一个大小合适的文件(比如4GB):
设置正确的权限(防止其他人读取):
CentOS Linux 7.9.2009
CentOS Linux 7.9.2009是传统CentOS Linux 7的最后主要版本,也是很多企业历史服务器中仍可能遇到的系统版本。它以稳定、兼容RHEL 7生态、文档丰富和软件支持广泛著称,曾长期用于Web服务、数据库、虚拟化节点和企业内部业务系统。不过CentOS Linux 7已于2024年6月30日停止维护,现在继续使用会面临安全补丁缺失风险。该版本更适合旧业务迁移、历史环境恢复或离线兼容性测试。
下载
格式化为Swap:
启用Swap文件:
想要开机自动挂载,还要编辑
文件,添加一行:
3. Swap设置多大合适?
这个问题没有标准答案,取决于你的物理内存大小和使用需求:
如果你有
8GB以上内存
,一般给
2~4GB Swap
就够用了;
如果是低内存系统(比如2GB),可以考虑设置
等于或两倍于内存大小的Swap
;
有些服务器为了性能干脆不设Swap,这要看具体应用场景。
另外还可以通过调整“swappiness”值来控制系统使用Swap的积极性。默认值是60,数值越低,系统越倾向于保持数据在内存中:
如果想永久生效,还需要修改
文件。
4. Swap使用中的常见问题
Swap一直没被使用?
不一定是坏事。Linux只有在真正需要的时候才会把内存页移到Swap,只要内存足够,就不会频繁使用Swap。
Swap使用率过高怎么办?
可能是内存不足导致的,可以尝试优化程序、限制进程内存使用,或者增加Swap容量。
Swap文件能不能删除?
当然可以。先关闭Swap文件:
然后从
中删除对应条目,并删除文件:
基本上就这些了。Swap虽然不是必须的,但在很多情况下都能起到“救场”的作用。不管是用分区还是文件,只要按步骤操作,都不会太难。关键是根据实际需求来决定要不要、怎么用。
free -hswapon --showsudo fallocate -l 4G /swapfilesudo chmod 600 /swapfilesudo mkswap /swapfilesudo swapon /swapfile/etc/fstab/swapfile none swap sw 0 0sudo sysctl vm.swappiness=10/etc/sysctl.confsudo swapoff /swapfile/etc/fstabsudo rm /swapfile