作者:yasden
为什么要设置1TB虚拟内存?(注:Linux系统不叫虚拟内存,虚拟内存是windows的叫法么?Linux把它叫做swap。本文把swap叫成虚拟内存是为了大家更好理解。它叫swap。为什么叫swap?因为linux是Linus Torvalds发明的,叫swap有个英文名。多少国产操作系统采用了linux的内核?我们还要努力呀,什么时候研发出一个媲美linux的操作系统,那才是真的雄起了)
首先,物理内存很贵,32GB的DDR4内存大约280元左右,而4TB的nvme固态硬盘只要800多元,也就是说,花大约200多块钱就能实现1TB的虚拟内存。其次,目前的笔记本电脑基本上最大只能插入64GB的内存条(笔记本电脑大部分只有两个内存插槽,每个插槽可以插入一根最大32GB的内存条)。注意:轻薄本内存条是焊死在主板上的,你买来是多大内存(一般是16GB),以后就只能用这么大的内存了。以可以加内存的笔记本为例,最大只能加到64GB内存,使用linux系统跑大数据分析的朋友,即使普通主板128GB的物理内存(主板4根插槽全部插满,每根32GB内存),某些软件运行时也有可能出现爆内存的时候。这时候,只能通过设置swap来加大虚拟内存的用量了,直接将swap加到1TB怎么样?从此不再爆内存
再次,某些服务器物理内存有1TB(也就是要插入32根内存条,每条32GB),你是不是觉得这辈子都不太可能自己买32根32GB的内存条来自建服务器吧?而且服务器的内存条是ecc,比普通的内存条更贵的。不要慌,本文简单让你的Linux笔记本电脑或者Linux台式机实现1TB内存,只要你的固态硬盘有1TB的多余空间,或者你的机械硬盘有1TB的多余空间。
设置教程来了(本文以设置128GB的swap为例进行说明,设置成1TB的话,将128GB数字后面加个零即可):
1、在硬盘上新增一个128G的文件,文件位置,文件名随意取。
例如,我在/home/yasden/SZ4T文件夹下面新建了一个128G的文件,这个文件的名字叫做swap。
命令如下:
dd if=/dev/zero of=/home/yasden/SZ4T/swap bs=1M count=128000
注意,这个命令可以修改的地方如下所示:
dd if=/dev/zero of=/你的目录/你取的文件名 bs=1M count=文件大小的数字
输入上面的命令回车,大约1分钟后,就设置完成了,会显示下面的信息。
2、将你第一步新增的文件设置为内存交换文件。
用下面的命令将/home/yasden/SZ4T/swap文件设置为内存交换文件。
mkswap /home/yasden/SZ4T/swap
3、启动swap
启动/home/yasden/SZ4T/swap为swap的命令如下:
swapon /home/yasden/SZ4T/swap
如果出现下图的错误提示,可以用sudo解决。
在上面的命令前面加上sudo:
sudo swapon /home/yasden/SZ4T/swap
这时候成功了,但是出现了警告:
解决警告的方法见下面:
用下面的命令将权限设置成0600:
sudo chmod 0600 /home/yasden/SZ4T/swap
下面的命令将swap文件的所有者改成root:
sudo chown 0 /home/yasden/SZ4T/swap
这时候就修复了警告提示的问题了:
4、查看swap
用下面的命令查看一下,刚才设置的swap是否成功了:
swapon -s
从上面的提示可以看出,/home/yasden/SZ4T/swap已经成功的设置成虚拟内存了。
5、编辑/etc/fstab文件,让系统每次开机自动加载这个128G的虚拟内存文件。
4000520066 欢迎批评指正
All Rights Reserved 新浪公司 版权所有