0%

添加和管理Fedora的Swap空间

原文链接: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
2
3
# cat /proc/swaps
Filename Type Size Used Priority
/dev/dm-1 partition 2031608 0 -1

第二种使用swapon命令

1
2
3
# swapon -s
Filename Type Size Used Priority
/dev/dm-1 partition 2031608 0 -1

第三种使用free命令

1
2
3
4
5
# free
total used free shared buffers cached
Mem: 1027220 969300 57920 0 57072 665576
-/+ buffers/cache: 246652 780568
Swap: 2031608 0 2031608

添加SWAP文件到系统中

使用dd命令创建交换文件(可以通过调整count =变量来改变大小;下面创建一个131MB文件)

1
2
3
4
# dd if=/dev/zero of=/newswap bs=1024 count=128000
128000+0 records in
128000+0 records out
131072000 bytes (131 MB) copied, 1.7639 seconds, 74.3 MB/s

配置swap文件

1
2
# mkswap /newswap
Setting up swapspace version 1, size = 131067 kB

将文件实时添加到系统中:

1
#swapon / newswap

最后,修改/etc/fstab文件以在系统引导时自动添加swap文件,在文件后添加下列行

1
/newswap    swap    swap   defaults 0 0

使用swapon -s命令验证swap文件是否正在使用中:

1
2
3
4
# swapon -s
Filename Type Size Used Priority
/dev/dm-1 partition 2031608 0 -1
/newswap file 127992 0 -2

可是使用一下命令删除swap空间

1
# swapoff /newswap