当前位置: 首页 > ai >正文

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 空间的标准流程,这可以为内存不足的情况提供有效的缓解方案。

http://www.xdnf.cn/news/1014.html

相关文章:

  • 锂电池4.2V升压24V推荐哪些升压芯片?高效率国产SL4013输入耐压2.7V-25V
  • 黑马点评redis改 part 4
  • List findIntersection getUnion
  • 分别配置Github,Gitee的SSH链接
  • 扩散模型(Diffusion Models)
  • Linux-信号
  • 媒体关注:联易融聚焦AI+业务,重塑供应链金融生态
  • 【k8s】PV,PVC的回收策略——return、recycle、delete
  • 开源模型应用落地-Podcastfy-从文本到声音的智能跃迁-Docker(二)
  • CSS预处理器对比:Sass、Less与Stylus如何选择
  • 如何改电脑网络ip地址完整教程
  • Python常用的第三方模块之数据分析【pdfplumber库、Numpy库、Pandas库、Matplotlib库】
  • Docker 部署 Redis 缓存服务
  • 路由器转发规则设置方法步骤,内网服务器端口怎么让异地连接访问的实现
  • 一键配置多用户VNC远程桌面:自动化脚本详解
  • linux下使用wireshark捕捉snmp报文
  • 开源状态机引擎,在实战中可以放心使用
  • 15.QT-容器类控件|Group Box|Tab Widget|垂直布局|水平布局|网格布局|表单布局|Spacer(C++)
  • Idea 配置 Git
  • Uniapp:swiper(滑块视图容器)
  • 如何将Qt程序打包成应用程序?
  • 流程执行松散,如何强化规范?
  • 【Linux内核设计与实现】第三章——进程管理01
  • 信奥中的数学
  • 构建企业级知识图谱:JanusGraph与Gremlin实战指南
  • C++入门小馆: 深入string类(二)
  • SpringAI入门示例
  • CmStick CmStick ME|精工品质与工业级安全的加密狗之选[特殊字符][特殊字符]
  • 【踩坑tip】解决两个一样的USB设备插入后第二个识别失败的问题
  • 使用Mybaitis-plus提供的各种的免写SQL的Wrapper的使用方式