CentOS创建swap内存实现方式
服务器版本为CentOS7
一、检查现有 swap 空间
sudo swapon --show
如果系统中没有 swap 空间或者现有的 swap 空间不足,可以继续后续步骤来创建 swap 空间。
二、创建 swap 文件(推荐 2GB 作为示例)
sudo dd if=/dev/zero of=/swapfile bs=1M count=2048 status=progress
其中,if=/dev/zero 表示从/dev/zero设备读取数据,该设备会提供连续的零字节流;
of=/swapfile表示输出文件为/swapfile,这是要创建的 swap 文件的路径;bs=1M表示每次读写操作的块大小为 1MB;count=2048表示写入 2048 个块,总计 2048MB(即 2GB);status=progress用于显示操作进度。
三、设置 swap 文件的权限
出于安全考虑,限制 swap 文件的访问权限:
sudo chmod 600 /swapfile
将权限设置为只有 root 用户有读写权限,其他用户无权限访问。
四、将文件标记为 swap 空间
sudo mkswap /swapfile
这个命令会在 swap 文件中创建交换空间签名,使其能够被系统识别为 swap 空间。
五、启用 swap 空间
sudo swapon /swapfile
此时,已经将 swap 文件添加到系统的交换空间中,并可供系统使用。
六、使 swap 设置永久生效
编辑/etc/fstab文件,添加 swap 文件配置,这样在系统重启后 swap 空间仍然有效:
sudo vim /etc/fstab
在文件末尾添加一行:
/swapfile none swap sw 0 0
其中,/swapfile 是 swap 文件的路径,none 表示不挂载到具体的目录,swap 表示文件系统类型为 swap,sw 是选项,表示启用交换空间,后面的两个0 分别表示备份和文件系统检查的选项(对于 swap 文件,这两个值通常设置为0)。
七、(可选)调整 swappiness 参数
系统根据 swappiness 参数决定何时将内存页面交换到 swap 空间。在 CentOS 中,可以通过以下步骤调整 swappiness 参数:
查看当前 swappiness 值:
cat /proc/sys/vm/swappiness
如果需要修改,可以使用sysctl命令:
sudo sysctl vm.swappiness=10
将 swappiness 设置为 10,该值较低,表示系统更倾向于使用物理内存。适合运行内存密集型应用(如 Jenkins)的服务器。
对于使用CentOS系统的一般后端服务器,可以将该值设为30。
要使这个设置在系统重启后仍然有效,可以编辑/etc/sysctl.conf文件:
sudo vim /etc/sysctl.conf
添加一行:
vm.swappiness=10
保存文件后,swappiness 参数的设置就会在系统重启时自动生效。
八、验证 swap 空间是否启用成功
再次查看 swap 空间:
sudo swapon --show
如果看到刚刚创建的 swapfile,说明 swap 空间已正确启用。
通过以上步骤,就完成了在 CentOS 上设置 swap 空间的标准流程,这可以为内存不足的情况提供有效的缓解方案。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Linux安装yum时出现apt-get install E: 无法定位软件包问题解决
这篇文章主要介绍了Linux安装yum时出现apt-get install E: 无法定位软件包问题解决的相关资料,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考借鉴价值,需要的朋友可以参考下2024-12-12
centos7利用yum安装lnmp的教程(linux+nginx+php7.1+mysql5.7)
lnmp相信不用多介绍了,大家应该都知道,下面这篇文章主要给大家介绍了关于centos7利用yum安装lnmp(linux+nginx+php7.1+mysql5.7)的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。2018-03-03
Nginx 0.7.x + PHP 5.2.6(FastCGI)+ MySQL 5.1 在128M小内存VPS服务器上的
VPS(全称Virtual Private Server)是利用最新虚拟化技术在一台物理服务器上创建多个相互隔离的虚拟私有主机。它们以最大化的效率共享硬件、软件许可证以及管理资源。2008-12-12
Linux自动化构建工具make/Makefile和git使用及说明
本文介绍Linux下的make工具与Makefile自动化构建、缓冲区刷新及git版本控制操作,涵盖依赖关系处理、PHONY修饰、提交流程等关键点2025-09-09


最新评论