这是使用文件制作的swap分区,若果是使用物理分区来制作的话,得小心。
第一步:
dd if=/dev/zero of=swapfile count=200 bs=1024k
count 为几个块
bs 每个块多少个字节
第二步:
mkswap swapfile (你刚刚生成的文件)
第三步:
swapon swapfile
用free命令看看就知道了,或cat /proc/swaps
FilenameType Size Used Priority
/dev/hda6partition497972 91584 -1
/root/swapfile file 10232 0-2
/root/swapfile 就是你生成的文件
第四步:
在/etc/fstab 中加入
/root/swapfile swap swapdefaults 0 0
每次重启后swap分区自己mount上了。
如果你想去掉就用swapoff swapfile
对于分区格式的swap,你可以分出一个分区来,用mkswap 分区, swapon 分区, 在fstab中把/root/swapfile 换成你的分区就可以了。
关于Linux的虚拟内存问题啊~怎么说呢在Linux中也有用于交换的虚拟内存,但Linux的文件系统和Windows不一样
所以实现的原理也不一样,在Linux中,虚拟内存被单独分出一个去叫SWAP的扇区来存放,当然你也可以不分,交换空间可以是一个专用的交换分区(推荐的方法),交换文件,或两者的组合。
交换空间的总大小应该相当于你的计算机内存的两倍和 32 MB这两个值中较大的一个,但是它不能超过 2048 MB(2 GB)。
添加交换空间
有时,你会有必要在安装后添加更多的交换空间。例如,你把系统内存从 64 MB 升级到 128 MB,但是你只有 128 MB 的交换内存。如果你执行的是大量使用内存的 *** 作或运行需要大量内存的程序,把交换区增加到 256 MB 可能会对你有利。
你有两种选择:添加一个交换分区或添加一个交换文件。推荐你添加一个交换分区,不过,若你没有多少空闲空间可用,创建交换分区可能会不大容易。
要添加一个交换分区(假设 /dev/hdb2 是你想添加的交换分区):
硬盘驱动器不能在被使用(分区不能被挂载,交换分区不能被启用)。要达到这一目的的最简单方法是在救援模式下引导你的系统.
如果驱动器不包含任何被使用的分区,你还可以卸载这些分区,使用 swapoff 命令来关闭硬盘驱动器上的所有交换空间。
使用 parted 或 fdisk 来创建交换分区。 parted 比 fdisk 使用起来更方便,因此,只有 parted 在这里会被说明。要使用 parted 来创建交换分区:
在 shell 提示下以根用户身份键入命令: parted /dev/ hdb 。这里的 /dev/ hdb 是你的带有空闲空间的硬盘驱动器的设备名称。
在 (parted) 提示下,键入 print 来查看现存的分区和空闲空间的数量。起止值以 MB 为单位。判定硬盘驱动器上的空闲空间数量,以及你想给新建的交换分区分配的空间数量。
在 (parted) 提示下,键入 mkpartfs part-type linux-swap start end ,这里的 part-type 是 primary、extended、logical 中的一个, start 是分区的起始点, end 是分区的终止点。
警告:改变会立即发生,在键入时请谨慎从事。
键入 quit 来退出 parted 。
现在,你就可以创建交换分区了,使用 mkswap 命令来设置交换分区。在 shell 提示下以根用户身份键入以下命令:
mkswap /dev/hdb2
要立即启用交换分区,键入以下命令:
swapon /dev/hdb2
要在引导时启用,编辑 /etc/fstab 文件来包括以下行:
/dev/hdb2 swap swap defaults 0 0
在系统下次引导时,它就会启用新建的交换分区。
新添了交换分区并启用它之后,请查看 cat /proc/swaps 或 free 命令的输出来确保交换分区已被启用了。
要添加交换文件:
判定新交换文件的大小,将大小乘以 1024 来判定块的大小。例如,大小的 64 MB 的交换文件的块大小为 65536。
在 shell 提示下以根用户身份键入以下命令,其中的 count 等于想要的块大小:
dd if=/dev/zero of=/swapfile bs=1024 count=65536
使用以下命令来设置交换文件:
mkswap /swapfile
要立即启用交换文件而不是在引导时自动启用,使用以下命令:
swapon /swapfile
要在引导时启用,编辑 /etc/fstab 文件来包含以下行:
/swapfile swap swap defaults 0 0
系统下次引导时,它就会启用新建的交换文件。
新添了交换分区并启用它之后,请查看 cat /proc/swaps 或 free 命令的输出来确保交换分区已被启用了。
2.3. 删除交换空间
要删除交换分区:
硬盘驱动器不能在被使用(分区不能被挂载,交换分区不能被启用)。要达到这一目的的最简单方法 是在救援模式下引导你的系统。
如果驱动器不包含任何被使用的分区,你还可以卸载这些分区,使用 swapoff 命令来关闭硬盘驱动器上的所有交换空间。
在 shell 提示下以根用户身份键入以下命令来确定交换分区已被禁用(这里的 /dev/hdb2 是交换分区):
swapoff /dev/hdb2
从 /etc/fstab 文件中删除这个项目。
使用 parted 或 fdisk 来删除分区。只有 parted 在这里会被说明。要使用 parted 来删除分区:
在 shell 提示下以根用户身份键入命令: parted /dev/ hdb 。这里的 /dev/ hdb 是你的带有交换空间的硬盘驱动器的设备名称。
在 (parted) 提示下,键入 print 来查看现存的分区并判定你想删除的交换分区的次要号码。
在 (parted) 提示下,键入 rm MINOR ,这里的 MINOR 是你想删除的分区的次要号码。
警告:改变会立即发生,你必须键入正确的次要号码。
键入 quit 来退出 parted 。
要删除交换文件:
在 shell 提示下以根用户身份执行以下命令来禁用交换文件(这里的 /swapfile 是交换文件):
swapoff /swapfile
从 /etc/fstab 中删除该项目。
删除实际文件:
rm /swapfile
2.4. 移动交换空间
要把交换空间从某处移到另一处,请首先遵循删除交换空间的说明,再遵循添加交换空间的说明....
更多的交换技术还要等待我们去慢慢实现
1、对Linux来说,swap分区不是必须的。2、如果可能用到“休眠”模式,就要有swap,当然容量要大于物理内存。
3、偶尔会碰到一些软件,在没有交换分区的情况不能安装或安装后不能运行。
4、2G的内存跑Linux可以飞了,但还是建议你留个500M的交换分区。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)