next up previous contents index
Next: Using a swap space Up: Memory Management Previous: What is virtual memory?

产生对换空间

对换文件是普通文件,对核心没有什么特别的。唯一不同是它没有孔,用 mkswap 准备。必须在本地盘上,不能 在通过NFS mount的文件系统中。

关于孔,是重要的。对换文件保留了磁盘空间,使核心能快速对换出一页,而不必经过如文件的定位磁盘扇区的全部事情。 核心只用分配给这个文件的所有扇区。由于文件中的孔意味着没有为文件中这个位置分配磁盘扇区,这对核心使用不利。

产生没有孔的对换文件的一个好办法是通过如下命令:

$ dd if=/dev/zero of=/extra-swap bs=1024 count=1024
1024+0 records in
1024+0 records out
$
/extra-swap 是对换文件名,大小由count=给出. 大小最好是4的倍数,因为核心写出的内存页是4KB。如果不是4的倍数,最后那几KB将不可用。

对换分区也没什么特别。就象产生其他分区一样产生;唯一的不同是它作为原始分区使用,即没有任何 文件系统,最好将对换分区标记为类型82(Linux swap),虽然这对核心没有影响,但这使分区列表更清晰。

产生对换文件或对换分区后,需要写个标记起用它,这包括核心要用的一些管理信息。命令是 mkswap , 用法如下:

$ mkswap /extra-swap 1024
Setting up swapspace, size = 1044480 bytes
$
注意对换空间现在还没用,它存在,但核心还没用它提供虚拟内存。

请一定小心使用mkswap , 因为它不检查文件或分区是否被其他东西使用。 你可能用mkswap 很容易地覆盖了重要文件和分区! 幸好,你只需在你安装系统时使用mkswap 

Linux内存管理限制了每个对换空间约为127MB(由于技术原因,实际限制是 tex2html_wrap_inline3833字节, 或127.6875MB)。 可以同时使用最多16个对换空间,总计差不多2GB。 gif


next up previous contents index
Next: Using a swap space Up: Memory Management Previous: What is virtual memory?

Lars Wirzenius
Sun Jun 29 13:31:22 EEST 1997