这篇文章旨在帮助大家快速找到让电脑不能正常工作的罪魁祸首。
即使现在的系统相比 20 年前已经稳定了很多了,使用电脑时也难免会遇到蓝屏、意外重启、甚至是意外关机的情况。尽管这种问题可能只是偶然发生,可以说是不太走运;但更多的时候放着不管,反而会让电脑的问题出现得越来越频繁。
一个蓝屏小「贴士」
所以,这篇文章就旨在帮助大家快速找到让电脑不能正常工作的罪魁祸首,虽然不一定能「药到病除」,但也能让你离正确答案更近一步。
▍macOS尽管 macOS 是 Apple 为 Mac 产品线定制的操作系统,但实际上出现问题的机会还是很多的。虽然在 macOS 中我们可以通过控制台获取日志信息,但从 macOS Sierra 及更高版本开始,考虑到安全和隐私问题,控制台只允许访问最近的日志条目,而不是整个日志文件。
所以想要分析日志中所有和关机有关的事件,就需要通过「终端」和相应的指令进行分析。如果你的 Mac 近期出现了意外重启等问题,不妨跟着下面的步骤试一试,打开「终端」,并输入如下指令:
log show --predicate 'eventMessage contains "Previous shutdown cause"' --last 24h
上面这一串指令会使用 log show 检索系统日志,predicate 可以进一步筛选日志,在本文中我们筛选的日志类型是 eventMessage 中包含 Previous shutdown cause(此前关机的原因)的信息,而筛选的时间范围 --last 24h 则是过去 24 小时,如果有必要的话可以扩展到 36 小时甚至更长。
来自作者群的一个朋友
静静等待一段,你就能看到如上图一样的、将日志筛选后到结果,我们需要注意的信息就是Previous shutdown cause后续跟随的数字,这个数字代表着 Mac 电脑上次是因为什么原因而关闭的。
总的来说,负数的代码通常是因硬件而关机的,该信息由系统管理控制器(SMC)或处理器本身报告;而正数因软件而关机的。以下是每个代码所包含的含义:
如果你的 Mac 出现大量因为 0(断电)导致的意外关闭,那么就需要进行一定的排查。对于没有电池的台式 Mac 而言,主要检查的就是电源线有没有牢牢插入到电源接口中;如果依然出现这样的问题则很有可能是计算机内的电源出现了问题,需要进行维修。
对于有电池的笔记本型 Mac 而言,需要同时检查电源线和电池;笔记本型 Mac 通常会在电池耗尽之前进入休眠状态;出现断电而导致的关机很有可能是电池或读取电量的电池控制器有硬件问题,对于 Intel 款 Mac 而言需要根据官方文档重置 smc,而 M 系列 Mac 需要手动重启一次。如果上述步骤依然不起作用的话,也需要进行维修。
长时间未响应可能会让整个系统崩溃,严重时还会导致相关数据丢失。定时器超时作为 macOS 中一项功能,它可以有效防止未响应的程序导致的内核崩溃。
偶然发生的 -61/-62 错误可能没什么问题,但短时间内出现大量的类似错误就要对电脑进行排查了;-61 表示系统认为不能自动恢复的情况只能进行关机,而 -62 用于系统确定重启后可能解决的情况并进行重启。
排查的办法很简单,在 macOS 启动时进入安全模式,在安全模式下启动项目和守护程序都被禁用;如果没有再次意外关机则是最近安装或更新的程序出现了问题,如果再次意外关机则和系统本身有关。
以上就是 macOS 的部分了,相信这个指令可以简单帮你定位问题,并为你后续的问题解决打下一个不错的基础。
▍Windows除了 macOS,Windows 系统日志同样可以在时间查看器中查看并进行筛选,但考虑界面相对「复古」且用于筛选的 UI 选项更为复杂,因此我也更推荐大家使用命令行工具获取和筛选日志。