linux内存不足,swap交换分区创建

为什么需要swap

根 据Redhat公司的建议,Linux系统swap分区最适合的大小是物理内存的1-2倍.不过Linux上有些软件对swap分区得需求较大,例如要顺 利执行Oracle数据库软件,swap分区至少需要400MB或者物理内存2倍以上的空间.当然我们在安装Linux的时候,就能直接讲swap分区设 置到足够的大小,但如果已经安装好Linux了,之后又想再安装类似Oracle的软件,却发现swap分区空间不够,该如何处理? 针对此种情况,有两种解决方法:一是创建新的swap分区;另一则是创建swap文件. 这里暂时对创建swap文件做说明 创建swap文件如果你的硬盘空间已经全部分配给其他分区,也没有多余的预算新添购硬盘,我们可以利用swap文件的方式增加虚拟的swap空间,不过执行性能会较实际的swap分区差.


1.  检查当前的swap分区情况

# free –m

              total       used       free     shared    buffers     cached
  Mem:          1006         84        922          0         11         38
  -/+ buffers/cache:         35        971
  Swap:            0          0          0

 

2.  增加交换分区文件及大小

如上,当前swap分区的大小为0,假如需要增加1024M的大小。

判定新交换文件的大小,将大小乘以1024来判定块的大小。例如,大小为64MB的交换文件的块大小为65536,在 shell 提示下以根用户身份键入以下命令,其中的 count 等于想要的块大小。

# dd if=/dev/zero of=/home/swap bs=1M count=1024

1024000+0 records in
  1024000+0 records out

格式化交换文件,将swap文件格式化成s文件系统,系统才能使用

# mkswap  /home/swap
  Setting up swapspace version 1, size = 1023996 KiB

 

3.  启动交换分区文件

假如想立即启用交换分区文件,请执行:

# swapon  /home/swap

要停止使用新创建的swap文件,只要执行 swapoff/home/swap命令即可.

检验增加后的swap分区大小

# free  -m

              total       used       free     shared    buffers     cached
  Mem:          1006        994         12          0          4        929
  -/+ buffers/cache:         60        946
  Swap:          999          0        999

 

4.  如希望在系统再次启动时,自动启用刚增加的swap,可编辑/etc/fstab文件:

# vi  /etc/fstab,增加如下行

/home/swap             swap          swap    defaults        0 0 

posted @ 2018-02-09 16:54  Khazix  阅读(419)  评论(0编辑  收藏  举报