设备是英特尔电脑棒STCK1A32WFC
CPU:Atom Z8330,性能与Z8350低10%左右
内存:2G
储存:32G
网卡:英特尔7265AC
我是拿来当随身NAS用的,安装后发现设备总是不定时死机,影视看视频、看电子书或者正常待机情况下都会不定时触发,特征是电源灯亮,设备断连无法访问,路由器查询发现设备掉线,接屏幕无法唤醒,伴随CPU异常发热并且风扇不工作,长按强制关机后风扇才呼呼转。
我是纯Linux小白,只会敲一两个自己认识的指令,于是只能求助AI看能否解决,此前AI认为是网络或者I915驱动不兼容。
7265AC这个卡在Linux下有断流或者断连现象,英特尔自己也有说明,但我测试下来发现网卡工作正常,我导入数据的时候一口气导入了150+GB的数据,唯二的两次断连是因为路由器终于扛不住把所有设备**下线了,在折腾期间,有时候还会出现联网正常,但设备以死机的状态(Ping不通),因此排除网卡问题。
I915驱动也是Linux下的问题,因为凌动阿童木系列一个比较古老,已经没什么人维护,另一个疑似是自身缺陷,GPU调用会出问题,比如Watchdog误判长时间无响应强制重启GPU,但实际情况下因为伴随系统卡死,重启会失败。此前一直是和GPU斗智斗勇,通过在Grub里加入GPU禁用节能以及Watchdog延时参数看能否缓解问题,但都没有根除。
在实际使用中,我此前导入了2000+图片到相册里,GPU加速开启的情况下并没有出现上述的死机情况,影视也是一样,即使这两个软件禁用了GPU加速,但死机问题依旧,有时还会发现设备会在某个时间段自行重启,虽然我是按需启动但有时候也会很烦,因为要等开机。
最后是参考论坛里另一位Z8350用户的参数,在
“GRUB_CMDLINE_LINUX_DEFAULT=quiet splash”
这一行改为
“GRUB_CMDLINE_LINUX_DEFAULT=quiet nomodeset”
这个参数是强制禁用GPU I915驱动,代价是所有GPU参与的程序或者进程都由CPU运行,比如影视的解码和相册的GPU加速都不可用,同时伴随高温。但加入这个参数后工作正常了。
最后是我换另一个方向,既然GPU禁用了,所有的任务都由CPU处理,那么就意味着CPU没有机会降频,或者进入休眠,那么我这种情况下是不是调整CPU参数就能解决问题?
于是我借助AI提供的参数,把之前的“quiet nomodeset”参数调整成了:
“GRUB_CMDLINE_LINUX_DEFAULT=quiet i915.enable_psr=0 i915.enable_fbc=0 intel_idle.max_cstate=1“
前面两个是屏幕节能参数,与GPU有关,因为我这个几乎不连HDMI,所以我就一块禁用了,intel_idle.max_cstate这个参数是决定CPU是否进入深度睡眠的参数,让CPU时刻保持活跃,但不会强制要求在高频。Cstate似乎是一种节能选项,可以让CPU在处理任务间隙进入睡眠以实现节能。
最后我的这个电脑棒成功挺过了一晚上10+小时的运行,期间会不定时访问或者传输数据,而且期间没有重启,GPU工作正常,目前是工作正常了。
这里把自己的经历发上来,希望能有所帮助。