一转眼,转岗做服务器运维已经有三个月了。因为公司以前没有运营网络游戏的经难,本打算招一个有经验的人,但是一直没有招到合适的人。许多事情都是摸着石头过河,期间自己犯过各种错误,好在没有给公司造成什么大的损失。
其中有一个困扰了我好久,百思不得其解,直到现在。问题是这样的:正常在线运营的服务器,前一段时间还可以远程连接,但是过一段时间(这一段时间是随机的,可能是一两天,也可能是更久),就会出现不能远程连接。情况分为两种:一种是:服务器不能远程登录,但是玩家还是可以正常登录服务器;另一种是:玩家不能登录,登录时,远程闪一下就消失了。其间有各种的猜测,猜测A是:项目组写的程序存在内存泄露;猜测B是:阿里云提供的物理服务器有问题;猜测C是:Windows server 2008或者Windows server 2003系统有问题。
期间做了各种各样的尝试,比如用软件检测是否有内存泄露,也没有发现什么异常。
有一段时间为了防止服务器出现问题:竟然采取了每隔三天或者两天重启一下系统的方法,虽然避免了问题的突然发生,但是毕竟不是长久之计。我基本断定是内存泄露的问题,通过软件测试,但是项目组仍然没有发现内存异常。
刚开始,在2003的系统运行了一段时间,没有发现内存增长的现象。于是基本把问题锁定在了2008系统上。
元旦放假之前,已经把一大部分2008的系统更换成了2003的系统;通过这几天的观察记录,发现:物理内存的使用也在逐渐地增加。我现在越来越怀疑是内存泄露了,但是也说不准,因为开始做测试的几个服务器好久(一周或者更久)都没有出现问题。把我遇到的这个问题记录下来,我坚信,早晚有一天产生这个问题的根本原因会被发现。