当购买到阿里云内存低的服务器安装WordPress时,如果不升级内存,那简直是折磨,经常提示建立数据库连接时出错 让博客打不开。假如网站访问量大的话花点钱加内存也没事,但是对于我们这些本来就没几个访问量的博客来说就没必要了。

经常提示“建立数据库连接时出错”这个问题,老鹰加了个虚拟内存分区之后貌似缓解了,好几天没提示这个错误了。下面是方法,如果你也碰到这个问题,又不想花钱加内存的话可以试试。

一、什么是SWAP?

SWAP就是LINUX下的虚拟内存分区,它的作用是在物理内存使用完之后,将磁盘空间(也就是SWAP分区)虚拟成内存来使用。它和Windows系统的交换文件作用类似,但是它是一段连续的磁盘空间,并且对用户不可见。

需要注意的是,虽然这个swap分区能够作为“虚拟”的内存,但它的速度比物理内存可是慢多了,因此如果需要更快的速度的话,并不能寄厚望于swap,最好的办法仍然是加大物理内存,swap分区只是临时的解决办法。

Linux下可以创建两种类型的交换空间,一种是swap分区,一种是swap文件。前者适合有空闲的分区可以使用,后者适合于没有空的硬盘分区,硬盘的空间都已经分配完毕。

二、创建swap分区的方法:

1、创建一个大小为1G,用于硬盘存储的空白文件:

dd if=/dev/zero of=/swap bs=1M count=1024

2、使用mkswap格式化文件为swap文件系统:

mkswap -f /swap

3、启动刚刚创建的swap文件系统:

swapon /swap

4、执行以下命令,就能在swap那里看到一个大小为1023M的swap分区。

free -m

不过现在swap的used为0,因为并不是等所有的物理内存都消耗完毕之后,才去使用swap的空间,什么时候使用是由swappiness参数值控制的。输入以下命令查看swappiness参数值。

cat /proc/sys/vm/swappiness

(1)当swappiness=0的时候表示最大限度使用物理内存,然后才是swap空间。

(2)当swappiness=100的时候表示积极的使用swap分区,并且把内存上的数据及时的搬运到swap空间里面。

我们可以通过修改swappiness的参数值来控制swap分区的使用情况。

(1)临时修改:如果重启系统,swappiness参数值又会返回默认值。

sudo sysctl vm.swappiness=10

(2)永久修改:在/etc/sysctl.conf 文件里添加参数(vm.swappiness=50)或者执行以下命令,然后保存重启即可。

echo ‘vm.swappiness=50’ >>/etc/sysctl.conf

三、创建swap文件的方法:

1、运行以下命令创建用于交换分区的文件:

dd if=/dev/zero of=/mnt/swap bs=1M count=1024

2、运行以下命令设置交换分区文件:

mkswap /mnt/swap

3,运行以下命令启用交换分区文件:

swapon /mnt/swap

注意:如果在/etc/rc.local中有swapoff -a 需要修改为swapon -a

4、设置开机启用swap分区:在/etc/fstab文件加以下内容。

/dec/hdb5 swap swap defaults 0 0 (开机时启动此swap分区)
/tmp/swap swap swap defaults 0 0 (开机时启动此swap文件)


转载地址:http://www.yhfhappy.com/linux-swap.html

记录一下linux常用命令

计划任务计划任务 5 * * * * ls 指定每小时的第5分钟执行一次ls命令 30 5 * * * ls 指定每天的 5:30 执行ls命令 30 7 8 * * ls 指定每月8号的7:30分执...

阅读全文

批量更新Git项目脚本

在平时的工作中,遇到一些优秀的开源项目,如volley、picasso、okhttp等,如果想阅读它的源代码,我通常都会clone项目到本地的GitHub文件夹,这样大神们后面...

阅读全文

阿里云Linux挂载云盘

1.先用fdisk -l 查看分区2.看到有一个536.9GB的硬盘未分区,/dev/vdb,然后执行fdisk /dev/vdb ,依次n p 1 ,2次回车,wq 回车。完成  3.再次执行fdis...

阅读全文

2 条评论

欢迎留言