如何创建Linux的swap交换分区文件的方法步骤
Swap简介
Linux中Swap(即:交换分区),类似于Windows的虚拟内存,就是当内存不足的时候,把一部分硬盘空间虚拟成内存使用,从而解决内存容量不足的情况。
如何创建Swap文件
1. 创建一个用于交换的文件
sudo fallocate -l 1G /swapfile
如果faillocate未安装或者您收到错误消息,fallocate failed: Operation not supported则可以使用以下命令创建交换文件:
sudo dd if=/dev/zero of=/swapfile bs=1024 count=1048576
2. 设置正确的权限
只有 root 用户才能写入和读取交换文件,要设置正确的权限类型:
sudo chmod 600 /swapfile
3. 设置Linux交换区
使用该 mkswap 实用程序将文件设置为Linux交换区域:
sudo mkswap /swapfile
4. 启用交换
使用以下命令激活交换文件:
sudo swapon /swapfile
要使更改永久打开/etc/fstab文件并附加以下行:
/swapfile swap swap defaults 0 0
5. 验证交换状态
要验证交换是否处于活动状态,我们可以使用swapon或free命令,如下所示:
sudo swapon --show
输出
NAME TYPE SIZE USED PRIO
/swapfile file 1024M 507.4M -1
sudo free -h
输出
total used free shared buff/cache available
Mem: 488M 158M 83M 2.3M 246M 217M
Swap: 1.0G 506M 517M
如何调整swappiness
Swappiness是一个Linux内核属性,用于定义系统使用交换空间的频率。Swappiness可以具有0到100之间的值。较低的值将使内核尽可能避免交换,而较高的值将使内核更积极地使用交换空间。
默认的swappiness值为60.您可以通过键入以下命令来检查当前的swappiness值:
cat /proc/sys/vm/swappiness
输出
60
虽然桌面可以使用60的swappiness值,但对于生产服务器,您可能需要设置较低的值。
例如,要将swappiness值设置为10,请键入:
sudo sysctl vm.swappiness=10
要使此参数在重新引导后保持不变,请将以下行附加到该/etc/sysctl.conf文件:
vm.swappiness=10
最佳swappiness值取决于您的系统工作负载以及内存的使用方式。您应该以小增量调整此参数以查找最佳值。
如何删除交换文件
如果出于任何原因要停用并删除交换文件,请按照下列步骤操作:
1. 首先,使用以下命令停用交换:
sudo swapoff -v /swapfile
2. 删除交换文件条目/swapfile swap swap defaults 0 0从/etc/fstab文件。
3. 最后删除实际的swapfile文件:
sudo rm /swapfile
以上就是本文的全部内容,希望对大家的学习有所帮助。
- 主备切换的准备工作(r7笔记第83天)
- Java设计模式-外观模式
- Java设计模式-组合模式
- 使用shell批量监控磁盘坏块(二) (r7笔记第80天)
- JavaWeb10-request&response你不得不学(1)
- dg的奇怪问题终结和分区问题答疑 (r7笔记第77天)
- 最近让我焦灼的四个问题(有解) (r7笔记第76天)
- JavaWeb10-reques;response你不得不学(2)
- 很多人比较纠结的约束和索引的关系(r7笔记第75天)
- JavaWeb09-Servlet(Java真正的全栈开发)
- JavaWeb08-XML,tomcat,HTTP轻松入门
- JavaWeb07-JDBC(Java真正的全栈开发)
- 编程思想 之「操作符」
- Hyperledger fabric Chaincode 开发详解
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 从头创建您自己的vue.js——第2部分(虚拟DOM基础)
- Manage Jenkins报错:"依赖错误: 部分插件由于缺少依赖无法加载...",解决办法
- 从头创建您自己的vuei .js——第3部分(构建VDOM)
- adb 模拟上下左右滑动,示例演示
- python 技术篇-pythoncom.PumpMessag()关闭、杀死它的进程,pythoncom.PumpMessag()运行卡住解决办法
- PyQt5 技术篇-QWidget、QDialog程序窗口关闭closeEvent()触发事件方法重写
- 恕我直言你可能真的不会java第6篇:Stream性能差?不要人云亦云
- python-技术篇-打印详细报错日志,获取报错信息位置行数
- React从入门到放弃,一个关于网页速度的故事
- python 技术篇-日志定期清理设置,自动清理上个月的日志实例演示
- python 技术篇-日志模块自定义时间格式
- 恕我直言你可能真的不会java第12篇-如何使用Stream API对Map元素排序
- JavaScript错误处理完全指南
- 从头创建您自己的vue.js——第4部分(构建反应性)
- Oracle 数据库-服务器端字符集查看方法