您的位置:首页 > 运维架构

游戏运维经验之谈

2016-06-05 19:19 246 查看
2016年6月23日
工作:qqandroid平台全服维护
事件问题:java内存溢出
qqandiroid平台许多服出现游戏登陆时卡69%,89,打印日志出来,发现进程端口已不在,查看系统日志,原来是内存溢出的问题,导致杀死了java程序
解决方案:先查看系统内存,看看有哪一些没有用的服务和进程把他关掉,查看发现nginx和php-fpm是不需要打开的,第二个问题,MySQL内存也给的太大了,24G的系统内存,我们一台机跑五个服,一个服就给2G,然后又给了十五G给MySQL,参数innodb_buffer_pool_size = 15,你说内存怎么可能不爆,再检查一下几台之前经常岩机的新服,发现启动脚本给java的内存比其他机大太多了,旧服300m 2g,而新服却是500m 10G,前面那个参数是启动java时给他的最小大小,后面那个参数值是给java的最大的大小,
执行操作:
1、通过top,netstat查看不闭要的进程,我们这里干掉了Nginx和php-fpm
2、调小MySQL的缓冲池大小为8G,原来为15G,
3、修改给Java程序的内存大小
4、开服后给每台游戏服增加 10G swap 空间
所用工具:Ansible
执行人: wsyht

游戏卡90%游戏报网络不畅

这种情况游戏端口和程序尚在,但登陆不了,具体原因找开发帮忙协助调查
解决方案:
重启程序

CPU优化和内存优化
一般平均单CPU使用率最好不要超过30%,load不超过cpu总内核数的2倍就可以了。
物理内存使用率在50%-80%之间,算是正常使用区间的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  程序 游戏 报错