linux虚拟机内存不够,解决linux虚拟内存不够用的方法
虚拟内存(swap)虚拟内存就是将硬盘规划出一个区 间,让内存的数据可以经由硬盘来读取。建立和扩大swap:l 建立虚拟内存设备第一种正规的方法是『直接再加一硬盘,并且将其中某个分区规 划为swap的filesystem』:思路是:用fdisk建立后,再格式化为swap。再将swap启动,启动的指令为 『swapon/dev/hd[a-d][1-16]』!直接swapo...
虚拟内存 (swap)
虚拟内存就是将硬盘规划出一个区 间,让内存的数据可以经由硬盘来读取。 建立和扩大swap:
l 建立虚拟内存设备
第一种正规的方法是『直接再加一硬盘,并且将其中某个分区规 划为 swap 的 filesystem 』:思路是:用fdisk建立后,再格式化为swap。再将 swap 启动,启动的指令为 『 swapon /dev/hd[a-d][1-16] 』! 直接 swapoff 就能关掉。
l 建立虚拟内存文件
使用 swap file 的方 式来新增硬盘!
以 dd 指令来建 立 swapfile ;
# dd if=/dev/zero of=/tmp/swap bs=4k count=16382
16382+0 records in
16382+0 records out
# dd 这个指令是用来转换文 件并且 copy 用的;if 指的是要被转换的输入文件格式 /dev/zero ,of 指的是输出的文件,输出到 /tmp/swap 这个文 件;bs 指的是一个扇区占用几个 kb ;count 指的是要使用多少个 bs 。相乘就是容量。
# mkswap /tmp/swap (格式 化,务必注意书写正确,否则后果很严重)
Setting up swapspace version 1, size = 67096576 bytes
# swapon /tmp /swap (启动他)这样就已经将虚拟内存增加64 MB了 !如果每次都想启动该文件,那么将 swapon /tmp/swap 写 入/etc/rc.d/rc.local 中。
# free (查看下swap)
。。。。中间省略
Swap: 192524 2620 189904
# swapoff /tmp/swap (关掉他)
此外,如果当初建系统的时候,没有完全划分硬盘空间,可以新建个分区,格式化 为swap,然后挂载到/tmp/swap目录上,达到扩容目的。
swap工作原理是 :当物理内存不够时,则某些在内存当中所占的程序会暂时被 移动到 swap 中,让物理内存可以被更需要的程序来优先使用。因此,虚拟内存只是缓解作用,速度肯定没法和物理内存比,优化的最好办法就是买内存。另 外, 系统可以进入『休眠』模式,运作当中的程序状态会被纪录到swap去,以作为『唤醒』主机所用!最后有某些程序在运行时,本来就会利 用 swap 的特性来存放一些数据段,所以swap 是需要建立的!只是不需要太大。
swap 在被建立 时,是有限制的:
· S wap有数量和大小限制,不过不同版本系统限制不一样。
· 目前 x86_64 (64位) 最大内存支持到 64GB, 因此swap总量最大也是仅能达 64GB!
更多推荐
所有评论(0)