第500章 god的异常状况(2 / 2)
肖远心中疑惑,但是图像变成了静态,什么也看不出来了,他只能另想办法,当时他准备的监控手段中,图像仅仅是其中一种,除此之外,还有一些非图像,但是更详细的记录方法,比如系统日志,以及内存采样等。
系统日志记录了god程序操作步骤,而内存采样则是按照一定的时间间隔,定时的将世界的内存数据原封不动的存成文件保存下来,留待查阅。
肖远首先查看了系统后台,看到临走之前编写的脚本文件仍在运行,而god的世界却没有动静,这说明god程序要么是不再接收脚本文件发送给他的命令了,要么是因为某种原因,在接收到命令后,却没有执行这些命令,无论哪种情况,都很不正常。
所以,肖远需要先确定究竟是上面的那种情况,分析这种情况并不需要太多时间,很快肖远就得出了结论:god程序仍然在接收着脚本文件发送的命令,但是因为某种原因,接收到这些命令后,却拒不执行了。
“为什么会不执行了呢?”肖远心中疑惑,将自动脚本结束掉之后,打开了god的系统日志,直接翻到了最后一条,发现这一条的时间是凌晨三点十二分三十一秒,而他是昨晚十点半离开,也就是说,在他离开四个多小时后,god就开始出现问题了。
“究竟发生了什么事情了,为什么会出问题?”
肖远对god的系统日志仔细分析了一番,每一条日志单独来看,都属于正常的操作记录,并没有什么异常,但是将最后的几条日志联合起来观察,肖远还是从中发现了一些异常地方,那就是最后几十条日志的间隔时间越来越小,也就是说,god在这一段时间里,操作的频率越来越高,甚至到了最后四条日志,时间竟然都是03:12:31,这并不是说这四条日志记录的操作是同一时间进行的,因为肖远设定的日志记录间隔是以秒为单位的,一秒之内出现四条日志,说明有四个操作是在一秒钟之内发出去的。
盯着电脑屏幕上的日志,肖远眉头紧锁着,思考片刻后问了问实验室里的管理员,确认了自己离开这段时间,电脑没有人动,进而排除了外界干扰的可能性,最后他把内存采样文件调了出来。
内存采样的指的是,每隔一定的时间,就将god开辟的世界内存空间的信息原封不动的克隆下来,存到一个文件中,肖远在实现这个功能的时候,并没有完全依赖god程序,而是从操作系统层级来完成的,之所以这么做,就是考虑到god程序万一要是出现状况失灵了,他还有最后的追查手段,不至于无计可施。
内存采样文件是一个以十六进制形式存储的文件,肖远将之打开后,仍然是从文件最后开始查看,最后记录下来的内存数据的时间是一分钟前,从这个时间来看,内存采样的工作仍然是正常的,并没有出现太大的问题。
内存数据有好几个g,因此分析的工作量非常大,即使是利用分析工具辅助,也是一件极考验人的耐心和经验的工作,如果没有合适的工具。
为了尽快找到结论,肖远对整个分析过程进行了一番规划,分成了三个阶段。
他首先利用工具,从内存采样文件末端向前,倒序截取了一百个采样样本,对这些数据进行对比分析,分析结果表明,这一百个内存采样数据是完全一样,这种情况和god的监控程序绘制出来的静态图像是一致的,由此可以推断,god程序在从一个特定的时间开始,已经不在对他创造的世界的数据进行修改了。
确定了这个现象之后,肖远要做的就是找到god程序出问题的时间点究竟在什么地方,而根据系统日志判断,最有可能的时间点就是03:12:31,所以,第二和第三个阶段,肖远从这个时间的内存采样数据开始,分别向前和向后截取了一百个采样样本,利用工具进行对比分析。
经过一番仔细的比对的分析后,肖远果然从中发现了一些情况,这些情况却是大大的超出了他的意料,更是给了他一个大大的惊喜。
↑返回顶部↑