分页: 1 / 1

通过文件方式增加swap空间,不用再重新分区

发表于 : 2006-12-31 9:41
littleUbuntu
有很多兄弟,新安装了ubuntu,但是忘记了规划swap分区。或者swap分区太小,想要增大些,其实这些任务在linux下都是十分简单和方便实现的.
首先切入正题,说出我的方法,这个是偶然想到的。经过试验,成功。不需要多分区,或重新规划分区表都不需要。因为我们即将用一个文件来实现此功能。

第一步,当然是建立一个img文件,大小为512M,需要1024的话就把count=500000改成1000000,这样我们才能访问它。

代码: 全选

dd if=/dev/zero of=swap.img bs=1024 count=500000
第二步,当然是对它进行格式化,不要担心,格式化的只是这个文件,不用sudo。

代码: 全选

mkswap swap.img
第三步,当然是激活它,使它可用。

代码: 全选

sudo swapon swap.img
这样后可以free看下自己的swap是不是增加了想要的那么多呢?

如果想要开机挂载的话就需要修改/etc/fstab那个文件,让他每次开机自动挂在就行了。

发表于 : 2006-12-31 15:27
yohu
我记得前两天刚好看过一篇类似的文章,好像是说可以使用某个文件夹来做交换区,印象中好像是”mkswap 文件夹“就可以了,不过没试过,我交换分区太大都用不上,呵呵!

发表于 : 2006-12-31 15:43
peter_huang
good!
非常棒!

Re: 通过文件方式增加swap空间,不用再重新分区

发表于 : 2009-10-10 11:34
zhuimengren2034
以下转自Linux学习网

在 apt 安装 oracle-xe-client 时,有可能会出现如下的错误,提示 Swap 分区没有达到要求的大小,安装无法继续。

This system does not meet the minimum requirements for swap space. Based on the amount of physical memory available on the system, Oracle Client 10g Express Edition requires 1024 MB of swap space. This system has 951 MB of swap space. Configure more swap space on the system and retry the installation.

下面我们就来增加系统的 Swap 大小。

1.首先用命令free查看系统内 Swap 分区大小。
free -m

total used free shared buffers cached
Mem: 1002 964 38 0 21 410
-/+ buffers/cache: 532 470
Swap: 951 32 929

可以看到 Swap 只有951M,不符合 Oracle-xe-client 的安装要求。

2.创建一个 Swap 文件。
mkdir swap
cd swap
sudo dd if=/dev/zero of=swapfile bs=1024 count=100000

出现下列提示,上面命令中的 count 即代表swap文件大小。

记录了 100000+0 的读入
记录了 100000+0 的写出
102400000 字节 (102 MB) 已复制,0.74704 秒,137 MB/秒

把生成的文件转换成 Swap 文件
sudo mkswap swapfile

Setting up swapspace version 1, size = 102395 kB
no label, UUID=09fde987-5567-498a-a60b-477e302a988b

3.激活 Swap 文件。
sudo swapon swapfile

再次查看 free -m 的结果。

total used free shared buffers cached
Mem: 1002 967 34 0 22 410
-/+ buffers/cache: 534 467
Swap: 1053 32 1021

添加成功。

扩展:
如果需要卸载这个 swap 文件,可以进入建立的 swap 文件目录。执行下列命令。
sudo swapoff swapfile

如果需要一直保持这个 swap ,可以sudo -s换到root
然后把它写入 /etc/fstab 文件。

swapfilepath swap swap defaults 0 0

Re: 通过文件方式增加swap空间,不用再重新分区

发表于 : 2009-11-24 0:20
daihai
要开机挂载的话就需要修改/etc/fstab那个文件。如何写入 /etc/fstab 文件,请具体一点。最好fstab 文件列出来。谢谢

Re: 通过文件方式增加swap空间,不用再重新分区

发表于 : 2009-11-24 0:24
wowoto
对于我这种有系统洁癖的人,出现这种问题,我一定直接重装。重装加配置更新就那一会儿,当然,原来下的缓存要留着。

Re: 通过文件方式增加swap空间,不用再重新分区

发表于 : 2010-10-02 0:30
razhangwei
如果需要一直保持这个 swap ,可以sudo -s换到root
然后把它写入 /etc/fstab 文件。

swapfilepath swap swap defaults 0 0
由于本人第一次看到这里的时候不是很清楚,所以对于这一段话我再解释下:
首先打开/etc/fstab文件

代码: 全选

sudo gedit /etc/fstab
然后在输入

代码: 全选

swapon -s
查看自己添加的swapfile路径,最后添加一行

代码: 全选

swapfilepath swap swap defaults 0 0
这里的swapfilepath就是我们刚刚查看的路径,例如我自己就是/home/hugh/swapfile

Re: 通过文件方式增加swap空间,不用再重新分区

发表于 : 2011-03-11 16:12
azrael8
这样做真的有意义吗?
我用这种方法把交换空间调到了2G,但实际使用来看,用到的交换空间从来没有超过400M过,而且当电脑内存使用接近95%时依旧很卡……

Re: 通过文件方式增加swap空间,不用再重新分区

发表于 : 2011-05-27 12:36
hippocampi
这个方式可以很好地忽悠一些安装程序

Re: 通过文件方式增加swap空间,不用再重新分区

发表于 : 2011-05-27 12:38
jtshs256
是个坟…… :em20 :em20

Re: 通过文件方式增加swap空间,不用再重新分区

发表于 : 2011-10-07 1:46
zzp
:em11 不错 可能会用到

Re: 通过文件方式增加swap空间,不用再重新分区

发表于 : 2012-02-19 1:30
aefgmno
zhuimengren2034 写了:以下转自Linux学习网


sudo dd if=/dev/zero of=swapfile bs=1024 count=100000

出现下列提示,上面命令中的 count 即代表swap文件大小。

记录了 100000+0 的读入
记录了 100000+0 的写出
102400000 字节 (102 MB) 已复制,0.74704 秒,137 MB/秒

这里的bs=1024是1024Byte,即1K,所以count的值应为需要的swap文件的大小的KB值,比如4G为4096×1024=4194304

Re: 通过文件方式增加swap空间,不用再重新分区

发表于 : 2012-05-27 16:22
踏浪的杰儿
这个验证码好长啊,呵呵,我学了不少的东西,谢谢

Re: 通过文件方式增加swap空间,不用再重新分区

发表于 : 2013-05-23 8:02
shuizhongyu
:em05