苹果Mac系统关机很慢该怎么解决?
发布时间:2022-05-08 15:11:23
苹果Mac系统关机很慢该怎么解决?造成关机慢的主要原因可以分为OS X系统本身问题和应用软件问题,下面我们来看看解决办法,需要的朋友可以参考下
目前来说,造成关机慢的主要原因可以分为OS X系统本身问题和应用软件问题。这两个的本质区别在于,前者造成系统退出后屏幕出现“旋转齿轮”(Spinning Gear,俗称无限菊花,甚至有人数圈数,称之20圈菊花等等)并等待很长时间,而后者是在系统退出之前,系统尝试退出所有当前运行中的程序的过程,说得更具体点就是,launchd本身退出之时(系统问题)或之前(应用软件问题)。应用软件问题我们这里无法给出任何的答案,Apple也无能为力。我们主要是讨论系统问题。
在后面我们给出一个靠谱的解决方案之前,我们来看看对一个系统问题应该如何入手。当我们去分析大家解决问题的思路的时候可以发现,有这样几个大致思路,有的从硬件入手,比如重置PRAM和SMC,内存等方法;有的是根据以往的解决大多数问题的思路开始着手,比如建议修复权限、禁止启动项等就是这个思路;有的是碰机会,比如关Wifi等。其实,他们都有可能,但是都没有抓住一个基本有效的方法。对于Troubleshooting的手段来说,几乎所有有经验的程序开发人员/系统管理人员等都会想到,系统日志logs,检查系统日志是排除故障的一大利器,尤其是系统级别的。其实早有网友就注意从这方面着手,可惜有点偏了没有找到重点。
1、要抓住重点,还要从系统的内部管理来说。OS X系统启动的基本步骤是这样的:
- 通电,Boot-ROM进行初始化。
- Boot-ROM后处理,此时是黑屏,电源LED灯亮,如果出现任何错误,LED灯会有规律闪动。
- 开始调用EFI:会听到咚的那一个长音。
- EFI启动:会响应用户键盘,比如进入单用户模式等按键。正常情况下,读取boot.efi正常后,出现银色的Apple标识。
- 启动内核:看到灰色背景和旋转齿轮。从这里开始,就可以从Activity Monitor程序中找到各个进程的关系了。
- 启动launchd:此时看到蓝屏。launchd负责启动和管理系统的各个服务
- login窗口出现:
- 用户登录:用户登录后,系统也是使用另外一个launchd来为该用户开启用户环境的,之后,用户的所有动作(除非特殊情况),都在这第二个launchd的管理之下。
2、现在让我们开启在/Applications/Utilities目录中的Activity Monitor程序,选择All Process, Hierarchically, 如下图,就可以看到各个进程之间的关系。核心总是占用任务ID 0的,而第一个launchd总是ID 1,用户launchd(下图中的ID 154)是ID 1的进程子进程。
3、既然启动是这个过程,那么退出/关机就是一个反过程。先关闭用户环境,就是用户launchd的退出过程;之后是系统退出过程,也就是ID 1的launchd的退出过程。所以,系统关闭慢的原因,应该是ID 1的launchd在关闭各个由他负责关闭的某个/某些服务的退出延迟造成的。当我们了解了这些之后,就可以着手分析了。
如何找到哪个服务进程退出延迟了呢?这就要看日志了,打开Console程序,在左边找到/var/log >> com.apple.launchd >> launchd-shutdown.system.log,之后,在右上角的查找中,输入timeout,就会出现如下图的画面,改图这是我修改之后的截图,在修改之前,两个服务的timeout时间, applevents是20 seconds, securityd是15秒。
4、这就找到了系统关闭奇慢的真正原因了,launchd给各个服务发出SIGKILL信号后,等待所有服务都退出后,才能退出,而由于一些服务退出超时,就造成整个系统关闭放慢。至于,这些服务为什么/什么情况下出现退出异常超时以及如何彻底解决之,我们只有让Apple的系统开发人员处理了,我们无从修复,不过我们可以通过给他设定退出超时时长来改变一下它的行为,这就需要一点对plist文件的知识了,具体的系统(launchd)如何定义和解读plist文件,我们不进行深入探讨,只给出方法,有兴趣的可以去developer.apple.com去读相关的文档。
综上所述,目前来说,比较靠谱的思路就是,给每个造成退出超时的系统服务设定一个比较短的退出超时时间(1或2秒)。
根据上面找到的两个服务来说,一个是com.apple.securityd,一个是com.apple.coreservices.appleevents。我们使用下面的命令来对他们进行处理。
sudo defaults write /System/Library/LaunchDaemons/com.apple.securityd ExitTimeOut -int 2
sudo defaults write /System/Library/LaunchDaemons/com.apple.coreservices.appleevents ExitTimeOut -int 1
6、如果系统询问,请输入当前管理员密码,以完成该命令。
之后,重新启动系统后,再次关机的时候,就可以实现"秒关",而看不到旋转菊花了。当然,每个系统的情况不一样,造成缓慢的原因会不同,所以,每个人需要针对自己机器的情况来具体处理。如果需要帮助,可以留言,并把上面Console中timeout的情况说明,我可以为大家具体写出命令。


猜你喜欢
- 在excel中,输入的身份证号码为18位数字,这样会显示位科学计数法,如何才能完整显示出来呢?下面就跟小编一起看看吧。Excel表格显示完整
- 在职工档案表中,有时需要通过职工的出生年月自动计算该职工的退休日期。。图1在单元格中输入公式2、完成公式输入后按Enter键在单元格中显示结
- 有很多网友Win10预览版15031中edge浏览器中右上角的“书签”列表和“笔记”按钮发生了变化,下面我们就来看看最新的图标,需要的朋友可
- 相信有在电脑中下载过新版网易云音乐的朋友都清楚,该软件默认开启了自动更新功能。那么,网易云音乐的自动更新功能可以关闭吗?又该如何操作呢?下面
- 我们在编辑word文档的时候往往需要,添加“第几页”,共几页。以便于我们打印出来的文档能够方便阅读。接下来小编举例简单的例子告诉大家word
- 最近有很多朋友反映,使用快乐码字时不知道应该如何退出锁定,今天小编就整理了关于快乐码字解除锁定的方法介绍,感兴趣的朋友不妨阅读下文内容,或许
- Win10系统中自带的微软应用商店可以说是非常的好用,许多用户在使用的时候经常却发现自己电脑中自带的微软应用商店根本就打不开,这要怎么解决呢
- 当我们运行程序过多的时候,我们通过任务管理器将一些没有必要的关闭,因为在任务管理器中会出现了大量重复的进程,这些重复的进程会浪费电脑的cpu
- 不少电脑用户在自己的电脑上安装完打印机驱动后发现还是无法进行打印,那么这是怎么回事呢?下面就为这些小伙伴带来了打印机驱动安装好了不能打印解决
- 同样的 事情, 他人的 事情 服从 为何 老是比 本人的 服从高呢? 许多初入职场的小 同伴对此 暗示 十分的 忧郁,心想 或许是 本人刚入
- Excel中的文档具体该如何把页码给设置上呢?接下来是小编为大家带来的excel中设置页码的教程,供大家参考。excel中设置页码的教程:设
- 最近有Win7系统用户反映,玩CF的时候出现错误提示“CF File Watcher”,用户不知道这是怎么回事,也不知道该怎么解决,为此非常
- Win7纯净版32位系统下控制面板中“设备和打印机”打不开怎么办?最近有用户向小编询问这个问题,不知道怎么解决,这是怎么一回事呢?遇到这种情
- Excel录入重复数据的时候,下拉菜单让你效率翻倍。那么在Excel中怎么添加下拉菜单呢?1.选中要设置下拉菜单的单元格,点击数据-数据验证
- 在WPS文字的应用过程当中,很多小伙伴的使用WPS所含的功能还不到百分之三十,有很多的功能小伙伴们基本都没有用过,特别是往WPS文字里面插入
- Excel录入数据真的是有很多小技巧在其中。比如下面截图所示的excel工作表录入数据时,有这样两个场景:第一:需要在B3单元格录入上一行B
- Win8系统如何取消睡眠按钮功能?我们在快速打字的时候,很有可能会不小心敲击到功能键上面的睡眠休眠按钮,其实功能键上的睡眠按钮是可以取消掉的
- 电脑的处理器是非常重要的核心部分,而处理器的好坏关系到电脑运行的速度。但还有很多用户还不是很清楚,怎么查看自己电脑的处理器CPU。最近,有W
- 1、缩放定位的介绍(详见我前面具体案例拆解视频)Office的功能「缩放定位」,它的位置在「插入」-「链接」中。现在这个功能只有office
- 一个客户在不同时间借款好几笔,如何能知道他一次借款的金额?能直接查看吗?可以直接显示他总的借款金额呢?这个问题是一个网友提出的,可以看的到,