AWS的free tier账号可以允许用户创建micro 级别的EC2 Instance。很多用户一般都会创建一个LAMP的WordPress博客来熟悉相关的功能。今天豆子我无意中发现我无法打开我的博客了,报错 “无法连接数据库”。
重启试试看,起不来了
查看一下日志文件,嗯,貌似和内存缓冲有关?
查看了一下相关资料,终于发现EC2的Micro实例默认是没有SWAP分区的!!所以当内存不够用的时候,MySQL自然就挂机了。
执行 free -g 看看当前内存分配,都木有了
Okay,以下步骤可以手动创建一个SWAP分区。
首先创建一个1G大小的数据块分给swapfile 文件。
简单的解释下命令的含义,dd是复制转换一个文件, /dev/zero是一个内容为0x00的可读文件,一般作为一个数据源,dd可以转换类型,然后把这些0x00字符写入一个对象文件(相当于低格)。if是输入文件,of是输出文件,bs是块的大小,count是代表多少个块,这里我是创建了1024个1M的块,也就是1G的大小
查看一下文件类型,Raw的状态
接下来,格式化该数据块,创建分区文件
运行分区文件
按照提示,更改一下权限,只允许管理员可以读写
重启一下服务,OK了
可以查看一下SWAP是否运行
最后别忘记了更改fstab记录,以便开机自动加载运行
搞定!
本文转自 beanxyz 51CTO博客,原文链接:http://blog.51cto.com/beanxyz/1535213,如需转载请自行联系原作者