日期:2014-05-16  浏览次数:20786 次

为Linux配置SWAP文件
由于未知原因,开发服务器没有配置swap(交换分区)。

虽然有4GB物理内存撑场面,但还是架不住多个tomcat+jetty的啃食,服务器频频死机!

这时候增加SWAP物理分区是不可能了,但我们可以通过增加swap文件的方式增加swap!

先看看我们当前的内存占用情况:
free

引用
             total       used       free     shared    buffers     cached
Mem:       4194304    4183512      10792          0      18588    1047644
-/+ buffers/cache:    3117280    1077024
Swap:            0          0          0


当前,交互分区设置为0:
引用
Swap:            0          0          0


通过dd命令增加swap:
dd if=/dev/zero of=/var/swap bs=1024 count=4096000

引用
4096000+0 records in
4096000+0 records out
4194304000 bytes (4.2 GB) copied, 31.4589 seconds, 133 MB/s


我们将swap文件写在/var/swap

参数:
  • if 输入
  • of 输出
  • bs 块大小
  • count 总大小


一般SWAP通常是物理内存的1.5~2倍,这里的物理内存达到4GB以上,分配4GB即可!

这里的服务器物理内存为4194304,也就是4.2GB,我们把swap设置4GB,故count=4096000

同时,我们需要创建该文件:

mkswap /var/swap

引用
Setting up swapspace version 1, size = 4194299 kB


加载该文件:
swapon /var/swap


看看swap是否生效:

free

引用
             total       used       free     shared    buffers     cached
Mem:       4194304    4172128      22176          0       5268    1048536
-/+ buffers/cache:    3118324    1075980
Swap:      4095992          0    4095992


当前,交互分区设置为4095992:
引用
Swap:      4095992          0    4095992


查看swap当前状态:

cat /proc/swaps

引用
Filename                                Type            Size    Used    Priority
/var/swap                               file