小樱 发表于 2014/5/9 22:07

Linux的swap提示内存不足,添加swap交换内存(虚拟内存)的方法

(错误三)

Checking available swap space requirements ...

Expected result: 1536MB

Actual Result: 1024MB

Check complete. The overall result of this check is: Failed <<<<

Problem: The system does not have the required swap space.

Recommendation: Make more swap space available to perform. the install.

(从此处来看,急需解决的是如何调整swap空间,因为当然Vmware的内存为1G,按常规看Swap交换空间应该为2G,下面就是解决swap交换空间的问题,因为硬盘IO很好,决定再次添加2G,总共为3G)

注:swap并不是越多越快,可能会引起反效果,可以先用此命令测试
参考此贴:http://bbs.itzmx.com/thread-5408-1-1.html

(第一步:使用free -m查看目前swap的交换空间情况,1024M,也可以使用grep SwapTotal/proc/meminfo查看)


# free -m

            total      used      free    shared   buffers    cached

Mem:         1010       995      15         0         1       847

-/+ buffers/cache:       145       865

Swap:      1024         0      1024



(用df –h查看磁盘空间的使用情况)
# df -h

Filesystem         Size Used Avail Use% Mounted on

/dev/sda2            3.8G 3.1G 572M 85% /

/dev/sda3             15G 1.7G13G 13% /home

/dev/sda1             46M11M33M 25% /boot

tmpfs                506M    0 506M0% /dev/shm



(第二步:确保系统中有足够的空间用来做swap交换空间,经过df –h查看,只有/home下面还有13G的空间是比较大的,所以我这边准备在/home/swapfile开辟swap交换区)

#cd /home

# mkdir swapfile(在/home目录下创建swapfile文件夹)

# cd swapfile(进入swapfile文件夹)

# dd if=/dev/zero of=/home/swapfile/swap bs=8M count=256(添加交换文件并设置大小为2G)

也可以用命令 fallocate -l 2G /home/swapfile/swap 来创建,他可以瞬间分配,如果不支持fallocate的系统可以用dd

(再次用df –h查看磁盘空间的使用情况,/home的可以大小已经由13G变成11G了,也就是说通过上面的dd操作,我们已经成功的分配了2G的swap交换空间)

(第三步:使用mkswap命令,创建(或设置)交换空间)

# mkswap /home/swapfile/swap

(第四步:使用swapon命令,启用新增的2G交换空间)

# swapon /home/swapfile/swap
此部如果报错,那么您正在使用OpenVZ的VPS,请TK联系服务商开启此功能。
swapon: /home/swapfile/swap: swapon failed: Operation not permitted

(使用free –m确认新增的swap交换空间已生效,3072)

# free -m

            total      used      free    shared   buffers    cached

Mem:         1010       997      13         0         2       848

-/+ buffers/cache:       146       864

Swap:      3072         0      3072



(第五步:修改/etc/fstab文件,使新增的2G交换空间在系统重启后自动生效)

# vi /etc/fstab

/home/swapfile/swapswapswapdefaults0 0


或者直接懒人echo一键插入
cd /home
mkdir swapfile
cd swapfile
fallocate -l 2G /home/swapfile/swap
mkswap /home/swapfile/swap
swapon /home/swapfile/swap
echo "/home/swapfile/swap swap swap defaults 0 0" >> /etc/fstab
free -m



其实还有个命令为 swapon -s 用来查看swap分区很有用呢。


centos7下可能需要修改权限
chmod -R 600 swap
而且必须使用dd方式创建文件,fallocate创建的不可用



我只属于你 发表于 2014/5/9 22:07

天羽ちよこ 发表于 2014/5/9 22:22

swap比不上真正的内存呀
基本上挂个2G的交换空间就卡爆了
我指的是阿里云

小樱 发表于 2014/5/9 22:31

天羽ちよこ 发表于 2014/5/9 22:22
swap比不上真正的内存呀
基本上挂个2G的交换空间就卡爆了
我指的是阿里云

嗯,,,阿里云的IO非常差。

鱼儿纷纷飘 发表于 2014/5/9 22:37

天羽ちよこ 发表于 2014/5/9 22:38

小樱 发表于 2014/5/9 22:31
嗯,,,阿里云的IO非常差。

好多垃圾回复你不管管么

小樱 发表于 2014/5/9 22:57

天羽ちよこ 发表于 2014/5/9 22:38
好多垃圾回复你不管管么

无所谓了。。。
页: [1]
查看完整版本: Linux的swap提示内存不足,添加swap交换内存(虚拟内存)的方法