怎样设置Linux系统的Swap交换空间
Swap交换空间是每个人似乎都知道的事情之一,我也不例外。我认识的系统管理员朋友都有他们的自己的想法,大多数Linux发行版也提出了建议。
Swap交换空间的作用:
Linux系统下的Swap交换空间与Windows下的虚拟内存意思差不多,Swap交换空间的作用可简单这样理解:当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap空间中,等到那些程序要运行时,再从Swap中恢复保存的数据到 内存中。这样,系统总是在物理内存不够时,才进行swap交换。
许多年前,根据经验,应该分配的交换空间大小是计算机中安装的内存大小的两倍。当然,那是计算机内存以KB或MB为单位时的时候,所以如果一台计算机有64KB的内存,那么128KB的交换分区就是最合适的大小。
这考虑到内存内存大小通常非常小的事实,并且为交换空间分配超过2倍的内存并没有提高性能。对于超过两倍内存的Swap,大多数系统花费的时间比执行有用的工作花费更多时间。
RAM内存已经变得相当便宜,许多计算机现在都有几十GB的内存。大多数新电脑都至少有4GB或8GB的内存,或者更多内存,比如32GB或者64GB。在处理具有大量内存的计算时,交换空间的限制性能因素远远低于2X乘积。因此,建议的交换空间被认为是系统内存工作负载的应变量,而不是系统内存。
表1提供了Fedora项目建议的交换分区大小,具体取决于系统中的内存大小以及是否需要足够的内存供系统休眠。要允许休眠,您需要在自定义分区阶段编辑交换空间。 “推荐”交换分区大小是在默认安装期间自动建立的,但我通常发现它要么太大,要么太小,无法满足我的需要。
Fedora 28安装指南定义了有关交换空间分配的当前思路。请注意,其他版本的Fedora和其他Linux发行版可能略有不同,但这与Red Hat Enterprise Linux用于其建议的表相同。这些建议自Fedora 19以来没有改变。
表1:Fedora 28文档中推荐的系统交换空间。
表2根据多年来在多种环境中的经验提供的建议。
表2:推荐的系统交换空间
这两个表都可能不适合您的具体环境,但它们会给您一个参考的方向。主要考虑的是,随着内存数量的增加,那么这个时候应该让 Linux 不必太多的使用swap交换空间,这样可以最大限度的使用物理内存,减少硬盘的负载,同时加快速度。如果虚拟内存太少,则应添加更多的RAM(如果可能),而不是更多的交换空间。
为了测试Fedora(和RHEL)交换空间的建议,测试了下具有32GB和64GB RAM的两个系统,交换空间使用了0.5*RAM的建议。即使在运行四个或五个虚拟机,LibreOffice,Thunderbird,Chrome网络浏览器,多个终端会话,Xfe文件管理器以及许多其他后台应用程序中的多个文档时,唯一一次看到使用swap是在每天凌晨2点左右安排的备份期间。即使这样,swap使用量不超过16MB。当然并不一定适用于您的真实环境。
- Linux学习笔记17——设置开机挂载、内存交换空间(swap)之创建、文件系统的特殊观察与操作
- 关于Linux系统的swap交换空间
- 在Linux系统上使用交换文件扩展swap空间的方法
- [Linux]设置swap交换空间
- Linux 7.7设置交换分区SWAP
- 怎样添加、删除Linux下的Swap空间
- Linux系统增加交换空间的方法
- Linux 硬盘挂载及设置交换分区swap
- 攻城狮在路上(叁)Linux(二十五)--- linux内存交换空间(swap)的构建
- 再linux系统中对磁盘进行gpt分区、创建swap交换分区、磁盘加密和磁盘配额
- 在 Linux 下用户空间与内核空间数据交换的方式,第 1 部分: 内核启动参数、模块参数与sysfs、sysctl、系统调用和netlink
- Linux学习-内存交换空间(swap)之创建
- Linux设置交换分区swap
- mkswap命令_Linux mkswap 命令用法详解:建立和设置SWAP交换分区
- Linux7.7设置交换分区SWAP的方法
- 【转载】在 Linux 下用户空间与内核空间数据交换的方式,第 1 部分: 内核启动参数、模块参数与sysfs、sysctl、系统调用和netlink
- 在 Linux 下用户空间与内核空间数据交换的方式,第 1 部分: 内核启动参数、模块参数与sysfs、sysctl、系统调用和netlink
- Linux系统增加交换空间的方法
- Linux 交换空间管理(swap)
- Linux Swap交换分区设置