如何设置Ubuntu的swap区

来源:互联网 发布:cms内容管理系统 选择 编辑:程序博客网 时间:2024/05/18 19:18

如何设置Ubuntu的swap区

如何添加swap?

swap 一般都在一个专有的swap区里,这可能是因为在安装的时候系统会提示你创建一个swap区。但实际上任何文件都可以被用作swap(交换设备),无论是一个分区或是一个简单的文件。尽管如此,为了更好的体验效果和感应速度,还是建议使用大容量的内存,而不是依赖swap。可以通过添加一个swap文件来增加swap。

共分四步

  1. 创建一个你预设好大小的文件。
  2. 将该文件格式化成swap(交换设备)。
  3. 将swap添加到现有系统中。
  4. 在系统里作一个永久性变更。

要添加一个512M的swap


  • 创建一个512M的文件:

我们会在 /mnt/512Mb.swap 上创建一个swap文件。


sudo dd if=/dev/zero of=/mnt/512Mb.swap bs=1M count=512

代码中的? count=512的意思是我们要创建文件,其中包含了512个? bs=1M(bs = block size 区块大小; 1M=1mebibyte 一兆 =1048576 bytes 字节)?的区块。 请注意*不要* 使用? dd of=/mnt/512Mb.swap bs=1M seek=512 count=0这条命令。虽然文件会马上增长到512Mb,但是这是有漏洞的,可能会造成无法使用。

  • 格式化文件,使之成为swap(交换设备):
sudo mkswap /mnt/512Mb.swap
  • 将swap加入到现有系统中:
sudo swapon /mnt/512Mb.swap

现在新增的swap可以通过” cat /proc/meminfo“命令看到。

  • 做永久性变更:

编辑 /etc/fstab 文件:

gksudo gedit /etc/fstab

在文件末尾加上如下一行:

/mnt/512Mb.swap  none  swap  sw  0 0

保存并重启。

一个swap文件的示例

如下的例子展现了在一台没有swap分区的电脑上创建和使用swap。


user@computer:~$ sudo dd if=/dev/zero of=/mnt/512Mb.swap bs=1M count=512Password:512+0 records in512+0 records out536870912 bytes (537 MB) copied, 35.3802 seconds, 15.2 MB/suser@computer:~$ sudo mkswap /mnt/512Mb.swapSetting up swapspace version 1, size = 536866 kBno label, UUID=dd6a01c8-93f0-41e0-9b7a-306956d8821buser@computer:~$ sudo swapon /mnt/512Mb.swapuser@computer:~$ cat /proc/meminfoMemTotal:       499496 kBMemFree:          9156 kBBuffers:          4748 kBCached:         233140 kBSwapCached:        724 kBActive:         254432 kBInactive:       157920 kBHighTotal:           0 kBHighFree:            0 kBLowTotal:       499496 kBLowFree:          9156 kBSwapTotal:      524280 kBSwapFree:       523556 kBDirty:             128 kBWriteback:           0 kBMapped:         243420 kBSlab:            20672 kBCommitLimit:    774028 kBCommitted_AS:   648680 kBPageTables:       2224 kBVmallocTotal:   524280 kBVmallocUsed:      5708 kBVmallocChunk:   518176 kBuser@computer:~$ gksudo gedit /etc/fstabuser@computer:~$ free             total       used       free     shared    buffers     cachedMem:        499496     479488      20008          0       8256     215892-/+ buffers/cache:     255340     244156Swap:       524280       3856     520424#####Then, after running a few more programs...user@computer:~$ free             total       used       free     shared    buffers     cachedMem:        499496     492768       6728          0       1240     142336-/+ buffers/cache:     349192     150304Swap:       524280      53384     470896#####Next, reboot to make sure it will work consistently.user@computer:~$ free             total       used       free     shared    buffers     cachedMem:        499496     493136       6360          0       7528     174700-/+ buffers/cache:     310908     188588Swap:       524280      17148     507132

撤销你的变更 :

基本上只要将刚才所做的再反过来做一遍就好了。

gksudo gedit /etc/fstab

删除刚才添加的最末一行

/mnt/512Mb.swap  none  swap  sw  0 0

在现有系统中删除swap并删除创建的swap文件。

sudo swapoff /mnt/512Mb.swap && sudo rm /mnt/512Mb.swap

无需重启。



当然,所有例子都不能生搬硬套。 如果安装双系统,我们就可以把swap区设置在扩展分区里,就是我们说的ubuntu和windows共用的storage区,相应的目录也应该从刚才提到的/mnt/512Mb.swap 改成 /media/xxx/512Mb.swap,xxx每个人都不一样,这取决于你是如何给自己的扩展分区命名的。


0 0
原创粉丝点击