记一次海外大型SLG游戏服务器进程被OOM的修复经历_高司机的博客-程序员秘密
时间 : 2022-07-11 00:04
来源 : 网络整理
事情经过
最近刚接手一个多次获得海外易云网络推荐的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的记录,再到进程运行目录下查看了宕机前的堆栈信息,日志如下: