记一次海外大型SLG游戏服务器进程被OOM的修复经历

 

事情经过

最近刚接手一个多次获得海外GooglePlay推荐的SLG的游戏项目,服务器是java的netty框架写的,客户端是cocos lua。

好吧既然服务器进程运行在jvm之上,吃内存倒是挺厉害的,我一个16G内存的服务器被吃的满满的,这个时候为了解决内存不足,我开启了4G的虚拟内存,方法如下:

sudo dd if=/dev/zero of=/swapfile bs=256M count=16 
sudo mkswap /swapfile 
sudo swapon /swapfile 
#开机自动启动
echo "/mnt/swapfile swap swap defaults 0 0 " >> /etc/fstab

#After compiling, you may wish to 
#Code: 
sudo swapoff /swapfile 
sudo rm /swapfile

 开启虚拟内存之后就在线上稳定运行了半年多,突然有一天一个游戏服务进程被oom杀死了,首先我从/var/log/message里看到oom的记录,再到进程运行目录下查看了宕机前的堆栈信息,日志如下:

 

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值