Ubuntu中虚拟内存(swap)和物理内存的关系及如何提升运行速度

每次安装Ubuntu系统时总是让我们设置swap空间大小,一直不太清楚是个什么东西,查找资料后发现还挺影响使用的,故在此记录一下。

当使用Ubuntu时如果电脑内存不够用,又不想扩大内存(需要花钱),Ubuntu为我们提供了一个虚拟内存空间即swap,这样电脑可以自动的把不活跃的内存迁移到虚拟内存中,从而间接的给活动的程序提供内存使用空间!

一、查看内存使用情况

#查看内存情况使用情况
sudo free -
#因为我已经添加了swap,所以Swap 显示出我添加的内存

#查看当前系统是否存在swap;
sudo swapon -s
#如果没有添加过虚拟内存,这里也不会出现信息

《Ubuntu中虚拟内存(swap)和物理内存的关系及如何提升运行速度》 

二、新建并挂载虚拟内存

建议新建的swap文件和内存设置一样大,或者是真实内存的2倍,以防出现swap不够用,

sudo fallocate -l 8G /swapfile

 #新建8G虚拟内存

ls -lh /swapfile

 #查看是否已经新建swap;

sudo chmod 600 /swapfile

 #设置swap文件权限,只有root才能对本虚拟内存文件有读写权限;

ls -lh /swapfile

#查看文件信息,确认swap权限;

sudo mkswap /swapfile

#通知系统挂载swap;

sudo swapon /swapfile

#通知系统启用swap;

#现在虽然已经可以使用虚拟内存,但是一旦系统重启后,需要重新挂载,所以修改挂载磁盘文件达到重启后自动挂载:

sudo vi /etc/fstab

#编辑脚本,打开文件后,最后面添加一行/swapfile  none  swap  sw  0  0,然后保存;

配置完成,就算重启电脑也没问题!

三.如何更改swap与物理内存之间使用关系

 在UBUNTU系统里面,并不是你的物理内存全部耗尽之后,系统才使用swap分区!系统的swappiness设定值,对如何使用swap分区是有着很大的联系。 

swappiness=0 的时候表示最大限度使用物理内存,然后才是 swap空间
swappiness=100的时候表示积极的使用swap分区,并且把内存上的数据及时的搬运到swap空间里面

上面2个设置是极端设置,对于UBUNTU系统的默认值来说,这个值=60,如果想最佳化,可以修改为10-20左右! 具体如下做:

1.查看你的系统里面的swappiness

cat /proc/sys/vm/swappiness
#不出意外的话,你应该看到是 60

《Ubuntu中虚拟内存(swap)和物理内存的关系及如何提升运行速度》 

2.修改swappiness值为10

sudo sysctl vm.swappiness=10

3.但是这只是临时性的修改,在你重启系统后会恢复默认的60,所以,还要做一步:

sudo gedit /etc/sysctl.conf
#在这个文档的最后加上这样一行:
vm.swappiness=10

《Ubuntu中虚拟内存(swap)和物理内存的关系及如何提升运行速度》

 

    原文作者:Steve_Logan
    原文地址: https://blog.csdn.net/Steve_Rogan/article/details/121574843
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞