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

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
littleUbuntu
帖子: 1103
注册时间: 2006-10-19 9:02

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

#1

帖子 littleUbuntu » 2006-12-31 9:41

有很多兄弟,新安装了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那个文件,让他每次开机自动挂在就行了。
yohu
帖子: 955
注册时间: 2006-12-18 17:04
来自: 福建泉州

#2

帖子 yohu » 2006-12-31 15:27

我记得前两天刚好看过一篇类似的文章,好像是说可以使用某个文件夹来做交换区,印象中好像是”mkswap 文件夹“就可以了,不过没试过,我交换分区太大都用不上,呵呵!
头像
peter_huang
帖子: 391
注册时间: 2006-11-07 14:32

#3

帖子 peter_huang » 2006-12-31 15:43

good!
非常棒!
头像
zhuimengren2034
帖子: 119
注册时间: 2009-01-25 15:43

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

#4

帖子 zhuimengren2034 » 2009-10-10 11:34

以下转自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
你有权保持沉默。你所说的一切将被作为呈堂证供。你有权请律师,如果你请不起律师,法庭可以为你代请一名。
daihai
帖子: 20
注册时间: 2008-11-03 22:31

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

#5

帖子 daihai » 2009-11-24 0:20

要开机挂载的话就需要修改/etc/fstab那个文件。如何写入 /etc/fstab 文件,请具体一点。最好fstab 文件列出来。谢谢
头像
wowoto
帖子: 3050
注册时间: 2009-04-11 12:17
系统: windows7

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

#6

帖子 wowoto » 2009-11-24 0:24

对于我这种有系统洁癖的人,出现这种问题,我一定直接重装。重装加配置更新就那一会儿,当然,原来下的缓存要留着。
wowoto>ubuntu8.04>ubuntu9.04>Archlinux>FreeBSD8.0>Archlinux & end here.
razhangwei
帖子: 21
注册时间: 2010-10-02 0:24

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

#7

帖子 razhangwei » 2010-10-02 0:30

如果需要一直保持这个 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
头像
azrael8
帖子: 7
注册时间: 2008-08-11 20:32

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

#8

帖子 azrael8 » 2011-03-11 16:12

这样做真的有意义吗?
我用这种方法把交换空间调到了2G,但实际使用来看,用到的交换空间从来没有超过400M过,而且当电脑内存使用接近95%时依旧很卡……
hippocampi
帖子: 25
注册时间: 2007-01-14 1:06

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

#9

帖子 hippocampi » 2011-05-27 12:36

这个方式可以很好地忽悠一些安装程序
jtshs256
帖子: 22323
注册时间: 2010-07-19 21:41
系统: OS X

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

#10

帖子 jtshs256 » 2011-05-27 12:38

是个坟…… :em20 :em20
躺平
zzp
帖子: 70
注册时间: 2010-01-20 15:16

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

#11

帖子 zzp » 2011-10-07 1:46

:em11 不错 可能会用到
aefgmno
帖子: 12
注册时间: 2010-05-01 13:41

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

#12

帖子 aefgmno » 2012-02-19 1:30

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
踏浪的杰儿
帖子: 2
注册时间: 2012-05-27 13:33

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

#13

帖子 踏浪的杰儿 » 2012-05-27 16:22

这个验证码好长啊,呵呵,我学了不少的东西,谢谢
头像
shuizhongyu
帖子: 287
注册时间: 2012-11-06 12:43
系统: arch,ubuntu
来自: 安徽合肥
联系:

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

#14

帖子 shuizhongyu » 2013-05-23 8:02

:em05
Luckily,I have google.

新手,请大家不吝赐教,十分感谢
回复