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