Linux修改Swap分区大小及使用优先级
Swap是Linux系统中的一种虚拟内存,用于在物理内存不足时扩展可用内存。当系统的物理内存不足以满足所有运行进程的需求时,操作系统会将不常用的数据存储在Swap分区中。在某些情况下,可能需要增加Ubuntu系统上的Swap大小,以提供更多的可用内存。以下将介绍调整Swap分区大小和使用优先级的方法。
一、修改Swap分区大小步骤:
1.检查当前系统上的Swap情况。如下命令将显示当前系统上已启用的Swap分区及其大小,如果没有显示任何输出,则表示系统当前没有启用Swap。
sudo swapon --show2.要增加Swap大小,首先需要创建一个Swap文件。例如,要创建一个大小为16GB的Swap文件,可以使用以下命令:
sudo fallocate -l 16G /swapfile3.创建Swap文件后,需要设置适当的权限以确保只有特权用户可以访问该文件。使用以下命令设置Swap文件的权限:
sudo chmod 600 <swapfile> //注:<swapfile>是指上面创建的swapfile文件的路径4.在设置Swap文件之前,需要对其进行格式化。使用以下命令对Swap文件进行格式化:
sudo mkswap <swapfile>5.格式化Swap文件后,可以将其启用为系统的Swap分区。使用以下命令启用Swap文件:
sudo swapon <swapfile>要使系统在启动时自动加载Swap文件,需要将其添加到/etc/fstab文件中。打开/etc/fstab文件,并在文件末尾添加以下行:
<swapfile> none swap sw 0 06.运行以下命令来验证Swap设置:
sudo swapon --show在增加Swap大小时,请注意以下几点:
选择合适的Swap大小:根据系统的需求和可用硬盘空间,选择适当的Swap大小。一般来说,Swap的大小应该是物理内存的1到2倍,但也可以根据具体情况进行调整。
确保硬盘空间足够:在创建Swap文件之前,请确保系统硬盘有足够的可用空间。Swap文件的大小将占用相应的磁盘空间。
考虑硬盘类型:对于使用固态硬盘(SSD)的系统,Swap文件的创建和使用可能对硬盘寿命产生一定影响。在这种情况下,可以考虑将Swap分区创建在机械硬盘上,以减少对SSD的写入。
考虑Swap使用频率:Swap是虚拟内存,其性能远不及物理内存。因此,过多地依赖Swap可能会导致系统性能下降。如果系统频繁使用Swap,可能需要考虑增加物理内存来改善性能。
定期监控Swap使用情况:建议定期监控Swap的使用情况,以确保系统正常运行。可以使用free -h命令查看系统的内存和Swap使用情况。
二、调整Swap分区使用优先级:
调整Swap分区后,如果发现即便物理内存用光了但虚拟内存的使用率还是上不来,则需要通过修改swappiness的值来提高Swap分区的使用优先级,调整范围为0-100,值越大交换分区越优先使用,如果需要优先使用内存 则调低swappiness的值即可。ubuntu系统中swappiness默认60,centos中默认10,所以在centos中swap内存的使用率是很低的。
具体调整swappiness值的方法如下:
1.查看当前swappiness值:
cat /proc/sys/vm/swappiness2.临时修改swappiness值(重启后还原默认值):
#方法(1)
sudo sysctl vm.swappiness=10#方法(2)
echo 10 > /proc/sys/vm/swappiness3.永久修改swappiness默认值(重启生效):
#编辑该文件:
sudo gedit /etc/sysctl.conf
#在文档的最后加上:
vm.swappiness=10




