Linux安装之swap交换分区大小设置

32 sec read

Linux中Swap(即:交换分区),类似于Windows的虚拟内存,就是当内存不足的时候,把一部分硬盘空间虚拟成内存使用,从而解决内存容量不足的情况。在安装Linux系统的时候需要单独设置swap分区而Windows安装没有此要求,主要原因是实现的方式不同:

  • Windows的虚拟内存在C盘上动态分配(即使内存不用玩也会使用)
  • Linux的虚拟内存需要单独建立swap分区(内存用完时才会使用或进入休眠时使用)

从流程上说Windows的更加方便并且大小是动态的,但是同样会存在问题,比如虚拟内存交换文件混在系统分区里面使用,文件碎片问题和容量变动问题都会影响交换文件的效率。而Linux 因为是独立的分区,所以没有文件碎片和容量变动的问题。

从原理上,安装Linux不分配swap分区也是可以的,特别是电脑内存足够的情况下。但是为防止意外情况发生,或让电脑支持hibernation(休眠),建议还是分配swap分区。休眠(Hibernate),将系统切换到该模式后,系统会自动将内存中的数据全部转存到硬盘上一个休眠文件中,然后切断对所有设备的供电。这样当恢复的时候,系统会从硬盘上将休眠文件的内容直接读入内存,并恢复到休眠之前的状态。这种模式完全不耗电,因此不怕休眠后供电异常,但代价是需要一块和物理内存一样大小的硬盘空间。但由于这种方法完全不耗电又能保存工作状态,往往被笔记本用户用来作为关机的替代方式。

Linux下Swap分区的大小如何确定?一起来看下专家的建议。

来自RedHat官方的建议

Table 8.3. Recommended System Swap Space

Amount of RAM in the system Recommended swap space Recommended swap space if allowing for hibernation
less than 2 GB 2 times the amount of RAM 3 times the amount of RAM
2 GB – 8 GB Equal to the amount of RAM 2 times the amount of RAM
8 GB – 64 GB 4GB to 0.5 times the amount of RAM 1.5 times the amount of RAM
more than 64 GB workload dependent (at least 4GB) hibernation not recommended

At the border between each range listed above (for example, a system with 2 GB, 8 GB, or 64 GB of system RAM), discretion can be exercised with regard to chosen swap space and hibernation support. If your system resources allow for it, increasing the swap space can lead to better performance.

来自Ubuntu官方的建议

可以看到Ubuntu给出的建议非常的详细,建议按照此进行设置~

打赏作者
微信支付标点符 wechat qrcode
支付宝标点符 alipay qrcode

Windows、Manjaro双系统的安装

最近把家里的电脑重新进行了安装,一开始只安装了Manjaro,原本计划彻底放弃Windows,但是发现纯粹用L
标点符
11 sec read

Ubuntu重新使用记录

最近在自己的工作电脑上安装了Linux子系统,由于Microsoft Store没有ArchLinux或Man
标点符
1 min read

Windows Linux子系统与Anaconda

公司平时的办公环境是Windows,最近在使用Anaconda遇到的问题是一些Python包无法在Window
标点符
22 sec read

发表评论

电子邮件地址不会被公开。 必填项已用*标注