最近制作了windows 7镜像上传到openstack中,发现在运行几个小时后会蓝屏,错误代码有0x00000101和0x0000005c,, 制作的镜像的virtio版本是官方推荐的稳定版:virtio-win-0.1.112.iso
刚开始以为是驱动问题,尝试了几个版本,都还是会蓝屏,使用微软官方windows server 2012情况会好一些。
后来经过多方查找,发现是ubuntu内核问题,在多个内核调度时发生异常情况导致蓝屏,参考地址:https://lists.ubuntu.com/archives/ubuntu-server/2014-July/006934.html,并且还与ksm有关。实验如下:
实验一:
在开启ksm情况下:
1个CPU的windows7 挂机一天情况下,不会蓝屏;
2个CPU的windows7 挂机一天,蓝屏重启;
在关闭ksm情况下:
1个CPU的windows7 挂机一天情况下,不会蓝屏;
2个CPU的windows7 挂机一天情况下,不会蓝屏;
ksm默认情况下是开启的,控制方式是:
查看状态:cat /sys/kernel/mm/ksm/run
0表示关闭,1表示开启
设置关闭:echo 0 >/sys/kernel/mm/ksm/run
设置开启:echo 1 >/sys/kernel/mm/ksm/run
实验二