原文链接:http://www.techotopia.com/index.php/Adding_and_Managing_Fedora_Swap_Space
在乞丐版的VPS上只有1G的内存,跑个SS基本没问题,但是用上Apache和MySQL这两个内存大户就会出现耗费大量内存,然后MySQL强制退出(即访问博客出现:error establishing a database connection,不过这只是一种原因,还有可能就是MySQL权限错误或者密码错误等)的情况。
什么是SWAP
计算机系统具有可用于操作系统的有限数量的物理内存。当操作系统开始接近可用内存的限制时,它通过将内存页面写入磁盘来释放空间。当操作系统需要这些页面时,它们随后会被读回到内存中。为此任务分配的磁盘区域称为SWAP空间。
推荐的Fedora交换空间大小
推荐用于Fedora的交换量取决于很多因素,包括系统内存量和内存负载。目前的Fedora交换空间指导原则如下:
- 4GB的RAM需要至少2GB的交换空间
- 4GB至16GB RAM需要至少4GB的交换空间
- 16GB至64GB的RAM需要至少8GB的交换空间
- 64GB至256GB的RAM需要至少16GB的交换空间
查看当前SWAP空间的大小
有多种方法查看当前的SWAP空间大小,第一种查看/proc/swaps文件
1 | # cat /proc/swaps |
第二种使用swapon命令
1 | # swapon -s |
第三种使用free命令
1 | # free |
添加SWAP文件到系统中
使用dd命令创建交换文件(可以通过调整count =变量来改变大小;下面创建一个131MB文件)
1 | # dd if=/dev/zero of=/newswap bs=1024 count=128000 |
配置swap文件
1 | # mkswap /newswap |
将文件实时添加到系统中:
1 | #swapon / newswap |
最后,修改/etc/fstab文件以在系统引导时自动添加swap文件,在文件后添加下列行
1 | /newswap swap swap defaults 0 0 |
使用swapon -s命令验证swap文件是否正在使用中:
1 | # swapon -s |
可是使用一下命令删除swap空间
1 | # swapoff /newswap |