happygongzhuo 2008-07-08
虚拟内存就是将硬盘规划出一个区间,让内存的数据可以经由硬盘来读取
在Linux 下就是建立swap file , 基本步骤:先建立swap这个装置或是档案后,将他格式化为swap格式,最后将他挂载到系统上即可
方法一: 建立虚拟内存装置
直接再加一颗硬盘,并且将其中的某个分区规划为swap 的文件系统
1。(1) fdisk /dev/hd[a-d]
(2) 将该分区的ID改为82 ,其中82为swap的磁盘档案格式代号
2。mkswap /dev/hd[a-d][1-16]
将上面1中的分区格式化为swap的档案格式
3。swapon /dev/hd[a-d][1-16]
启动swap ,顺便说一下 关掉swap的命令为swapoff
方法二:建立虚拟内存档案
这种方法不用增加新硬盘
基本流程:
1 。 以 dd指令来建立swapfile;
如使用dd来新增一个64MB的档案在/tmp底下
dd if=/dev/zero of=/tmp/swap bs=4k count=16382
#dd这个指令是用来转换档案并且copy用的
# if指的是要被转换的输入档案格式 /dev/zero可以由man zero来查看内容
# of指的是输出的档案,我们将之输出到/tmp/swap这个档案
# bs指的是一个扇区占用几个kb;
# count指的是要使用多少个bs,所以最后的容量为bs*count = 4k * 16832 ~ 64MB
2. 以mkswap 来将swapfile格式化为swap的档案格式
3。以swapon来启动该档案,使之成为swap, 执行完后可以用free查看。
在Linux里,内存有物理内存和虚拟内存之说,物理内存是什么自然无需解释,虚拟内存实际是物理内存的抽象,多数情况下,出于方便性的考虑,程序访问的都是虚拟内存地址,然后操作系统会把它翻译成物理内存地址。
虚拟内存是不会主动释放,而是再使用的时候从硬盘通过io搬运回内存中,所以在使用虚拟内存时,会发现io使用很大,而硬盘速度快慢能够觉得这个过程的快慢,同样数据库select操作也会与硬盘读取速度有关系。