相信大家如果要在VM上装大型软件的时候,有时候会有内存不够的问题,可能会报 out of memory的错误。 明明已经分了2G(一般的32bitXP电脑即便有4G内存也只能识别3G,分2G给VM已经很大方了)给VM,它还认为不够。 这个问题让笔者烦恼了一阵子,经过多次的实验,有一个解决的办法。
首先在linux命令行中 打进 free -m(以M为单位显示内存状况),会出现
total used free shared buffers cached
Mem: 2172 2163 9 0 5 187
-/+ buffers/cache: 1969 203
Swap: 3999 2076 1923
笔者在网上找了很多关于释放内存的资料,但是效果不明显。后来重装了个系统,一看,发现swap的值变大了,也没报out of memory错了。原来这个问题有另一种解决的办法,希望高手看到不要见笑,毕竟笔者刚接触linux不久,呵呵。
反正我们的物理内存Mem是固定了,就可以想办法增加Swap的值。
以下的操作都要在root用户下进行,首先先建立一个分区,采用dd命令比如
dd if=/dev/zero of=/home/swap bs=1024 count=1024000
这样就会创建/home/swap这么一个分区文件。文件的大小是1024000个block,一般情况下1个block为1K,所以这里空间是1024M。
2.2 指定分区类型为swap
把分区变成swap分区,使用mkswap命令如下
/sbin/mkswap /home/swap
再接着使用这个swap分区,使其成为有效状态。
/sbin/swapon /home/swap
现在再用free -m命令查看一下内存和swap分区大小,就发现增加了512M的空间了。
2.3 设置扩展的swap分区为自动挂载
不过当计算机重启了以后,发现swap还是原来那么大,新的swap没有自动启动,还要手动启动。
那我们需要修改/etc/fstab文件,增加如下一行如下自动挂载命令行
/home/swap swap swap defaults 0 0
就可以在机器启动以后swap空间也增大了
继续。。。。。。。。