虚拟内存之建置

在 Linux 当中,若是您须要使用到很大量的虚拟内存,恰恰当初给的 swap 扇区不够大,那要怎么办呢? 有什么方法能够来达成:
• 设定一个 swap partition ?
• 创建一个虚拟内存的档案?
基本上,虚拟内存就是将硬盘规划出一个区间,让内存的数据能够经由硬盘来读取罢了, 那么若是有 swap file 也就够了对不对!是呀!因此这里咱们使用两种方法来尝试创建一下 swap 的扩增吧! 另外, swap 的创建其实也很简单啊!一样的须要先创建出 swap 这个装置或者是档案后, 将他格式化成为 swap 的格式,最后将他挂载到系统上便可!linux

创建虚拟内存档案
1. 使用 dd 这个指令来新增一个 64MB 的档案在 /tmp 底下:
[root@linux ~]# dd if=/dev/zero of=/tmp/swap bs=4k count=16382
16382+0 records in
16382+0 records out
# dd 这个指令是用来转换档案而且 copy 用的;
# if 指的是要被转换的输入档案格式 /dev/zero 能够由 man zero 来查看内容;
# of 指的是输出的档案,咱们将之输出到 /tmp/swap 这个档案;
# bs 指的是一个扇区占用几个 kb ;
# count 指的是要使用多少个 bs ,因此最后的容量为 bs*count = 4k * 16382 ~ 64MB
如上所述,咱们将创建一个档名为 /tmp/swap 的档案,且其内容共有 64MB 左右大小的档案;
2. 使用 mkswap 将 /tmp/swap 这个档案格式化为 swap 的档案格式:
[root@linux ~]# mkswap /tmp/swap
Setting up swapspace version 1, size = 67096576 bytes
# 请注意,这个指令在下达的时候请『特别当心』,由于下错字元控制,
# 将可能使您的 filesystem 挂掉!
3. 使用 swapon 来将 /tmp/swap 启动啰!
[root@linux ~]# free
total used free shared buffers cached
Mem: 62524 60200 2324 0 716 19492
-/+ buffers/cache: 39992 22532
Swap: 127004 2620 124384
[root@linux ~]# swapon /tmp/swap
# 不要怀疑!这样就已经将虚拟内存增长 64 MB 啰!若是您须要每次都启动该档案,
那么将 swapon /tmp/swap 写入 /etc/rc.d/rc.local 当中便可!
[root@linux ~]# free
total used free shared buffers cached
Mem: 62524 60240 2284 0 724 19492
-/+ buffers/cache: 40024 22500
Swap: 192524 2620 189904
4. 使用 swapoff 关掉 swap file
[root@linux ~]# swapoff /tmp/swapspa