这篇文章主要介绍了Linux下如何扩展虚拟内存,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

当物理内存占用完了后,当系统还需要更多的物理内存时,物理内存中Inactive Pages 就转移到了到Swap空间。Swap 空间是在位于硬盘上的一个逻辑分区,因此访问速度较物理内存慢。当机器的物理内存发生变化时,Swap 分区也要根据需要作相应的扩展

1.检查现有交换空间的大小

如果你想检查你现有虚拟内存的大小,可以使用命令‘free -m ’

[root@chenfancentos~]#free-mtotalusedfreesharedbufferscachedMem:98816482302648-/+buffers/cache:90898Swap:199901999

根据现有交换空间的大小,选择合适的拓展大小。

2.创建适合的swapfile

我们经常可以使用”dd”命令来创建一个文件,用 “if” 指定源,基本上除了 “/dev/zero” 外基本上不会写别的,而/dev/zero 是UNIX系统特有的一个文件。“of” 指定目标文件, “bs” 定义块的大小, “count” 定义块的数量,这两个参数的多少决定了目标文件的大小。

[root@chenfancentos~]#ddif=/dev/zeroof=/tmp/swapfilebs=300Mcount=1记录了1+0的读入记录了1+0的写出314572800字节(315MB)已复制,13.9027秒,22.6MB/秒[root@chenfancentos~]#du-h/tmp/swapfile300M/tmp/swapfile

可以看到新生成了一个swapfile文件,大小为300M.

3.格式化刚才创建的swapfile

[root@chenfancentos~]#mkswap-f/tmp/swapfileSettingupswapspaceversion1,size=307196KiBnolabel,UUID=c4e2a8b1-fa09-41ab-bcbf-63c273ed9598

可以看到格式化后成功的UUID信息

4.实现开机自动挂载交换文件

我们在/etc/fstab中增加一下条目 /tmp/swapfile swap swap defaults 0 0,就能实现开机自动挂载。

[root@chenfancentos~]#cat/etc/fstab#/etc/fstab#CreatedbyanacondaonSatApr219:37:012016##Accessiblefilesystems,byreference,aremaintainedunder'/dev/disk'#Seemanpagesfstab(5),findfs(8),mount(8)and/orblkid(8)formoreinfo#UUID=301b2f9f-91d3-47dd-8a43-d377cba1cd5c/ext4defaults11UUID=812455f9-a63f-4b09-9336-05e3ada6f9a7/bootext4defaults12UUID=416480d0-662c-406c-a328-b4c2f370577bswapswapdefaults00tmpfs/dev/shmtmpfsdefaults00devpts/dev/ptsdevptsgid=5,mode=62000sysfs/syssysfsdefaults00proc/procprocdefaults00/tmp/swapfileswapswapdefaults00

就这样即使后续重启,也能做到自动挂载。

5.启用swapfile,查看虚拟内存大小

[root@chenfancentos~]#swapon/tmp/swapfile[root@chenfancentos~]#free-mtotalusedfreesharedbufferscachedMem:98813685201050-/+buffers/cache:74913Swap:229902299

可以兴奋的看到,相对于初始的虚拟内存,现在增加了300M。


感谢你能够认真阅读完这篇文章,希望小编分享的“Linux下如何扩展虚拟内存”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!