从装系统时就接触过这个swap了,它类似与windows的虚拟内存,分区的时候一般大小为内存的2倍,如果你的内存超过8G,那么你分16G似乎是没有必要了。分16G足够日常交换了。然而,还会有虚拟内存不够用的情况发生。如果真遇到了,莫非还要重新给磁盘分区?当然不能,那我们就增加一个虚拟的磁盘出来。基本的思路就是:建立swapfile -> 格式化为swap格式 -> 启用该虚拟磁盘。

[root@localhost ~]# dd if=/dev/zero of=/tmp/newdisk bs=4k count=102400记录了102400+0 的读入记录了102400+0 的写出419430400字节(419 MB)已复制,2.59193 秒,162 MB/秒

用 “if” 指定源,基本上除了 “/dev/zero” 外基本上不会写别的,而/dev/zero 是UNIX系统特有的一个文件,它可以提供源源不断的 “0”, 关于它的其他信息请你在网上查一下资料。 “of” 指定目标文件, “bs” 定义块的大小, “count” 定义块的数量,这两个参数的多少决定了目标文件的大小,目标文件大小 = bs x count. 用dd建了一个大小为400M的文件,然后格式化成swap格式:

[root@localhost ~]# mkswap -f /tmp/newdiskSetting up swapspace version 1, size = 409596 KiBno label, UUID=29832cab-04b9-4083-a667-9a5795a5d490

格式化完后,就可以挂载上使用了:

[root@localhost ~]# free -m          total       used       free     shared    buffers     cachedMem:           318        314          4          0          5        278-/+ buffers/cache:         30        288Swap:         2047          0       2047[root@localhost ~]# swapon /tmp/newdisk[root@localhost ~]# free -m             total       used       free     shared    buffers     cachedMem:           318        314          4          0          5        278-/+ buffers/cache:         31        287Swap:         2447          0       2447

前后对比swap分区多了400M空间。其中 “free” 这个命令用来查看内存使用情况, “-m” 表示以M为单位显示。

原文链接:http://www.apelearn.com/study_v2/chapter9.html