扩大虚拟内存
在linux磁盘刚分区的时候,我们会划分一个swap分区,这块分区作为一块虚拟内存,承担着扩充内存的作用。然而在工作中我们会遇到虚拟内存也不够用的情况,这个时候我们也不能重新给磁盘进行分区,只能通过增加一个swap文件,来扩充我们的虚拟内存。接下来,山医的小凡将手把手带你扩充你的虚拟内存。
1.检查现有交换空间的大小
如果你想检查你现有虚拟内存的大小,可以使用命令‘free-m’
[root@chenfancentos~]#free-m\ntotalusedfreesharedbufferscached\nMem:98816482302648\n-/+buffers/cache:90898\nSwap:199901999\n\n
根据现有交换空间的大小,选择合适的拓展大小。
2.创建适合的swapfile
我们经常可以使用"dd"命令来创建一个文件,用“if”指定源,基本上除了“/dev/zero”外基本上不会写别的,而/dev/zero是UNIX系统特有的一个文件。“of”指定目标文件,“bs”定义块的大小,“count”定义块的数量,这两个参数的多少决定了目标文件的大小。
[root@chenfancentos~]#ddif=/dev/zeroof=/tmp/swapfilebs=300Mcount=1\n记录了1+0的读入\n记录了1+0的写出\n314572800字节(315MB)已复制,13.9027秒,22.6MB/秒\n[root@chenfancentos~]#du-h/tmp/swapfile\n300M/tmp/swapfile\n
可以看到新生成了一个swapfile文件,大小为300M.
3.格式化刚才创建的swapfile
[root@chenfancentos~]#mkswap-f/tmp/swapfile\nSettingupswapspaceversion1,size=307196KiB\nnolabel,UUID=c4e2a8b1-fa09-41ab-bcbf-63c273ed9598\n
可以看到格式化后成功的UUID信息
4.实现开机自动挂载交换文件
我们在/etc/fstab中增加一下条目/tmp/swapfileswapswapdefaults00,就能实现开机自动挂载。
[root@chenfancentos~]#cat/etc/fstab\n#/etc/fstab\n#CreatedbyanacondaonSatApr219:37:012016\n#\n#Accessiblefilesystems,byreference,aremaintainedunder'/dev/disk'\n#Seemanpagesfstab(5),findfs(8),mount(8)and/orblkid(8)formoreinfo\n#\nUUID=301b2f9f-91d3-47dd-8a43-d377cba1cd5c/ext4defaults11\nUUID=812455f9-a63f-4b09-9336-05e3ada6f9a7/bootext4defaults12\nUUID=416480d0-662c-406c-a328-b4c2f370577bswapswapdefaults00\ntmpfs/dev/shmtmpfsdefaults00\ndevpts/dev/ptsdevptsgid=5,mode=62000\nsysfs/syssysfsdefaults00\nproc/procprocdefaults00\n/tmp/swapfileswapswapdefaults00\n
就这样即使后续重启,也能做到自动挂载。
5.启用swapfile,查看虚拟内存大小
[root@chenfancentos~]#swapon/tmp/swapfile\n[root@chenfancentos~]#free-m\ntotalusedfreesharedbufferscached\nMem:98813685201050\n-/+buffers/cache:74913\nSwap:229902299\n
可以兴奋的看到,相对于初始的虚拟内存,现在增加了300M。是不是有点激动,想要体验Linux之美,跟着山医的小凡一起动手实验。
手把手教您扩展虚拟内存|《Linux就该这么学》(linuxprobe.com)