开发新功能总是很开心,困难,可以不开始,容易就开球呗。

开发完了能跑,跑得不稳定,涉及到操作系统层面,时而正常,时而不正常,搁心里老是事,秃顶也怕是发功排查问题时能量消耗过快有关。

面对陌生的东西心里会嘀咕这不属于开发范围,但结果是你搬的砖不能用,非要把这些归类到Devops也合理,但作为技术人不应该这样被打败,回避就错过了锻炼机会,久而久之,失去的是一种技能和勇气,日后遇到别的困难依然会逃避。

所以无论于己、为人,都应该雄姿英发地炸碉堡。

1. 系统自动重启之Kernel Power 41

现象

一台Dell服务器装着Windows Server 2012,长时间运行某A流媒体系统工作正常,加装某B流媒体系统后,每隔2~3天发生一次重启,关闭B系统后照旧长时间运行。

毫无疑问,B是罪魁祸首,但我也相信她是没有重启Windows这项功能的,所以她顶多是占用了一部分明显的硬件资源,从而触发了某些机关,而不是凶手。

事件查看器(eventvwr)系统分类中,看到发生重启的时间前后,都有一条kernel power(41)的特殊事件,中文解释大意是因电源等意外重启,由于系统有UPS所以排除掉电,搬砖的都知道用百度是无法找出价值信息的。bing搜出来一堆,有说音频驱动,显卡驱动,杀毒神马一堆一堆。

隐约预计和驱动有关,对比下另外一台同样环境不发生故障的,确实设备管理器中有几个未知设备,另一台则安装完整。

Dell官网下载对应板载驱动、安装后,连续2周正常了。

总结

  1. 怀疑要建立载依据上。

2. 0xc0000142错误对话框

现象

接上述,B系统载特定情况下,不间断启动某个进程,偶尔途中新进程弹出对话框,提示0xc0000142,大约每周发生一次。

Google和Bing都没有好结果。出于看到360就不舒服的心理,把该进程所在目录加入360这个病毒的信任区,2周没有报过故障。

另外一台图站上的系统,也会偶尔不断打开、关闭新进程,也发生一样故障,还没有加入信任区,这个问题还需检验。

3. 流媒体花屏

现象

A流媒体系统带5~7个客户端工作正常,突然某日多个客户端上的直播视频全部花屏,往常经验重启A系统即可恢复,这次却始终不行。

挨个电脑检查CPU、内存、硬盘、网卡的状态,发现客户端1是百兆网卡,客户端2是10兆网卡,前者实施人员知悉,后者是突然变化的,尝试关闭客户端2,开启1和另外一台3不发生花屏,开启客户端2上的一路视频直播,也都正常,再在2上开启一路视频,很快每个客户端都花屏了。

大概是A系统使用TCP像每个客户端发送视频流时,采用单线程阻塞方式,所以当一个客户端的TCP链路速度下降后,就会导致所有客户端都变慢,而视频特点就是前后帧依赖,所以花屏。

总结

  1. 莫慌。
  2. 逐个分析CPU、内存、硬盘、网卡的状态,总会发现端倪。
  3. 再现她。
  4. 加强自动化运行状态监控,网卡链路速度明显变化应该有报警。