苹果Mac系统关机很慢该怎么解决?

   目前来说,造成关机慢的主要原因可以分为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、如果系统询问,请输入当前管理员密码,以完成该命令。

时间: 2024-10-26 06:16:39

苹果Mac系统关机很慢该怎么解决?的相关文章

苹果Mac系统关机很慢该怎么办

  目前来说,造成关机慢的主要原因可以分为OS X系统本身问题和应用软件问题.这两个的本质区别在于,前者造成系统退出后屏幕出现"旋转齿轮"(Spinning Gear,俗称无限菊花,甚至有人数圈数,称之20圈菊花等等)并等待很长时间,而后者是在系统退出之前,系统尝试退出所有当前运行中的程序的过程,说得更具体点就是,launchd本身退出之时(系统问题)或之前(应用软件问题).应用软件问题我们这里无法给出任何的答案,Apple也无能为力.我们主要是讨论系统问题. 在后面我们给出一个靠谱的

苹果mac系统怎么用

  习惯用windows系统的用户认为苹果mac系统不好上手,但mac os x远比大家想象中的还要易用很多,那么苹果mac系统怎么用呢?今天脚本之家给大家分享苹果mac系统快速上手教程,一起来看看吧! "Windows系统确实好用,很适合中国人,苹果牌电脑只是外观.做工很好,至于OS X系统就没有什么吸引力了."这就是目前绝大部分Windows用户对于Mac的心态.那么苹果的解决方法呢?用户用不惯OS X没关系,我们主动提供Windows驱动和安装方式,让大家在Mac上轻松安装并愉快

XP系统关机后变成重启怎么解决?

  XP系统关机后变成重启怎么解决?           一.系统设置 Windows XP 默认情况下,当系统出现错误时会自动重新启动,这样当用户关机时,如果关机过程中系统出现错误就会重新启动计算机.将该功能关闭往往可以解决自动重启的故障. 在桌面上右键点击"我的电脑",在弹出的右键菜单中选择"属性",弹出"系统属性"窗口,点选"高级"选项卡,点击"启动和故障恢复"栏目中的"设置"按钮

win8系统关机速度越来越慢怎么解决

win8系统关机速度越来越慢怎么解决   具体步骤: 1.右键"开始"按钮,打开控制面板; 2.在"控制面板"选择"硬件和声音"; 3.选择电源选项; 4.在左侧点击"选择电源按钮的功能"; 5.打开"更改当前不可用的设置"; 6.去掉"启动快速启动",保存修改即可. windows7教程 windows8教程 windows10教程

苹果MAC系统的快捷键大全

  MAC系统快捷键大全 最新版 系统启动 在启动时按下 X: 强制使用 Mac OS X 启动电脑 在启动时按下 Option-Command-Shift-Delete: 不使用主要启动硬盘,并寻找使用外接磁盘与 CD 在启动时按下 C: 由具有系统文件夹的 CD 光盘启动' 在启动时按下 N: 试图由兼容的网络服务器 (NetBoot) 启动 在启动时按下 T: 以火线目标磁盘方式启动在启动时按下 Shift: Mac OS X 10.2 后,在「安全启动状态」启动,一切启动项目及不必要运行

苹果mac系统下安装windows7系统详细教程

苹果的mac系统在很多方面都没有windows 7要方便,装软件也好,使用也好,还是windows更加适用,在这里我们就来看看如何在mac系统下安装windows 7系统吧! 在开始之前你需要准备: - Windows 7 Installation DVD - Mac OS X Installation DVD或Boot Camp 2.1 on CD/DVD(Boot Camp是必须的) 步骤1 在Mac系统下打开Finder 步骤 2 找到Applications(应用程序)这一项 . 步骤

如何快速清理苹果Mac系统垃圾

  如何才能对苹果电脑的操作系统一键清理呢?面对mac系统时我们经常会有疑问:mac系统要不要清理.怎么清理.说到苹果电脑我们总能联想到它的高 性能.运行速度快.卸载软件方便等等一系列特点,但再强大的操作系统都有不能避免的问题,如:缓存.文件堆积等,偶尔还会存在软件无法卸载的情况,这些问 题我们需要一一解决.小编下面介绍如何将mac系统中的垃圾快速清理. 点此:http://www.3987.com/xiazai/1/17/26160.html 操作方法: 安装cleanmymac 后启动软件,

苹果MAC系统新手必须知道的十件事情

  1.OS X 就像OS X 费力装点操作系统的日子结束了.当你启动你的Mac 的那一刻起,你也许会直奔系统预置去了解你能怎样摆弄它.也许你会去试着调整界面风格吧.不过无论你如何努力,你都无法把Mac OS X 弄成宇宙飞船控制台的样子.我并不是说绝对不能,我只说这很不容易. 你发现在Mac OS X 下,不能像Windows XP 下那样使用WindowBlinds 为Mac OS X 换皮肤.某种意义上来说,是的.因为大多数Mac OS X 用户没有这样的需求.常态的Mac OS X 观感

苹果mac系统中安装tex系统命令详细介绍

用贯了windows系统的用户们肯定还都不是很习惯mac系统吧,在OSX上又该怎么安装tex系统呢?这里我们就来看看吧! 比较简单的方式就是使用I-installer,但它需要在线安装.其实还有个更简单的:使用MacTex.MacTex是一个专门针对 MacOSX制作的Tex发行.它包括一个tex系统最常见的部件,还包括XeTex,及其它应用程序:TexShop(好用的Tex文档编辑器). 安装好MacTex,还需要进行部分修改以支持中文: 在一个windows上安装Ctex.org的tex套装