近一阶段,阿里云VPS服务器,客户经常反应后台登录不了,提示连不上数据库,一检查发现mysqld服务停止了,service mysqld restart重启一下就能正常使用了,不过这个频率有点高了。
首先检查下日志,打开/var/log/messages,发现因为内存溢出,mysqld服务被系统强制kill掉了,Out of memory: Kill process 21886 (mysqld) score 29 or sacrifice child。
找到内存原因了,于是就寻求解决办法,可能是一个VPS上网站系统过多,导致内存不够,但这半夜三更的,访问量也不大啊,但有一个会员一直是半夜上网的,会上传大量资料,不排除是他导致的。
方法有两个,一是增加内存,这需要银子,囊中羞涩的我只能用低成本方法来解决,以下方案在测试中,请期待后续报告。
文章出处:极安全 www.jisec.com
由于开启swap分区会导致硬盘IO性能下降,因此阿里云服务器或者其他的一些云服务器初始状态未配置swap,如果某些应用需要开启swap分区,可以采用如下方法增加:
1、创建用于交换分区的文件
#dd if=/dev/zero of=/mnt/swap bs=block_size count=number_of_block
注:block_size、number_of_block 大小可以自定义,比如bs=1M count=1024 代表设置1G大小swap分区
执行命令:
[code]
dd if=/dev/zero of=/mnt/swap bs=1M count=1024
[/code]
2、设置交换分区文件
#mkswap /mnt/swap
3、立即启用交换分区文件
[code]
swapon /mnt/swap
[/code]
如果在/etc/rc.local中有swapoff -a 需要修改为swapon -a
4、设置开机时自启用swap分区
需要修改文件/etc/fstab中的swap行。
添加
[code]
/mnt/swap swap swap defaults 0 0
[/code]
注:/mnt/swap 路径可以修改,可以根据创建的swap文件具体路径来配置。
文章出处:极安全 www.jisec.com
设置后可以执行free -m命令查看效果
评论前必须登录!
注册