Eason

咸鱼咯

Linux 下扩展swap

平时安装oracle的时候经常挥发此案swap与实际内存的比例不符,怎么办呢?
实际上是可以在现有文件系统上添加的,方法如下:

在磁盘空间充足的区域dd一个空文件,’文件大小’=’理想swap’-‘现有swap’,例如物理内存是4G,理想swap则是8G,现有内存为2G,则我们需要dd创建一个6G的文件来提供给swap用。

第一步 dd一个文件:
dd if=/dev/zero of=/mnt/swap01 bs=4096 count=1572864

返回情况为:

[root@test /]# dd if=/dev/zero of=/mnt/swap01 bs=4k count=1572864
1572864+0 records in
1572864+0 records out
6442450944 bytes transferred in 15.148896 secs (425275271 bytes/sec)

命令解释:if=/dev/zero 为参照设备指向,一般都写这个zero设备就行了,of=<创建的文件的路径>,bs=4096表示block size为4kB,count=1572864表示要创建的文件大小为1572864个block size,也就是6GB大小的文件

好的,文件已经创建完毕,我们保证这个文件的属主位root就行了,接下来向OS加载这个swap文件。

第二步 创建交换空间:

[root@test /]# mkswap /mnt/swap01
Setting up swapspace version 1, size = 6291456 kB

我们查看现有的swap空间容量:

[root@test /]# free -m
             total       used       free     shared    buffers     cached
Mem:          8192       1905       6093          0         58       1404
-/+ buffers/cache:        442       1541
Swap:         1983          0       1983

第三部 启动新增加的6GB交换空间:

[root@test /]# swapon /mnt/swap01

使用free命令确认新增的6GB交换空间已经生效:

[root@test /]# free -m
             total       used       free     shared    buffers     cached
Mem:          8192       1905       6093          0         58       1404
-/+ buffers/cache:        442       1541
Swap:         8192          0       8192

第四步
修改/etc/fstab文件,使得新加的6G交换空间在系统重新启动后自动生效
在文件最后加入:

/mnt/swap01     swap      swap defaults 0 0

ok 完成了!

 

Comments are currently closed.