Linux下扩展swap分区的方法
一 问题描述:
在Linux系统下运行tomcat时发现swap分区过小导致应用经常自动自杀的情况,需要手动去扩展swap分区的大小。
[root@thweb2 root]# free total used free shared buffers cached Mem: 4119096 3205716 913380 0 180364 145836 -/+ buffers/cache: 2879516 1239580 Swap: 8185076 2300 8182776
二 解决方法:
2.1 创建分区
以下的操作都要在root用户下进行,首先先建立一个分区,采用dd命令比如
dd if=/dev/zero of=/tmp/swapfile bs=1024 count=8192000
这样就会创建/tmp/swapfile这么一个分区文件。文件的大小是8192000个block,一般情况下1个block为1K,所以这里空间是7.8G。
2.2 指定分区类型为swap
把分区变成swap分区,使用mkswap命令如下
/sbin/mkswap /tmp/swapfile
再接着使用这个swap分区,使其成为有效状态。
/sbin/swapon /tmp/swapfile
现在再用free -m命令查看一下内存和swap分区大小,就发现增加了7.8G的空间了。
2.3 设置扩展的swap分区为自动挂载
不过当计算机重启了以后,发现swap还是原来那么大,新的swap没有自动启动,还要手动启动。
那我们需要修改/etc/fstab文件,增加如下一行如下自动挂载命令行
/tmp/swapfile swap swap defaults 0 0
就可以在机器启动以后swap空间也增大了
最后效果:
[root@thweb2 root]# free total used free shared buffers cached Mem: 4119096 4101436 17660 0 188632 1227756 -/+ buffers/cache: 2685048 1434048 Swap: 16377068 127580 16249488