苹果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、如果系统询问,请输入当前管理员密码,以完成该命令。

  之后,重新启动系统后,再次关机的时候,就可以实现"秒关",而看不到旋转菊花了。当然,每个系统的情况不一样,造成缓慢的原因会不同,所以,每个人需要针对自己机器的情况来具体处理。如果需要帮助,可以留言,并把上面Console中timeout的情况说明,我可以为大家具体写出命令。

时间: 2024-09-17 04:56:21

苹果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上轻松安装并愉快

苹果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套装

苹果Mac系统么安装Windows10?

当前 Windows10 系统的预览版已经出来,对于新系统感兴趣的不只是使用 PC 电脑的用户,还有一些是当前正在使用 Mac 系统的用户.其实安装 Windows 10 与以前安装 Windows 系统的操作步骤都差不多,这里简单介绍下怎么在 Mac 下安装 Windows10 的操作方法. 准备条件 1.首先需要我们前往微软官网下载最新的 Windows 光盘镜像,在下载镜像的时候,切记要下载64位的哦. 2.接下来还需要我们准备一个不小于 8G 版的 U 盘,用于制作安装 Windows

苹果Mac系统查看文件扩展名方法介绍

  苹果Mac怎么查看文件扩展名?苹果Mac显示文件后缀名怎么设置?苹果Mac OS X默认是不显示文件后缀名的,我们可以通过 Finder 偏好设置让文件的扩展名显示出来,下面PC6小编给你带来如何设置Mac显示文件后缀名的操作教程. 第一步.点击苹果Mac桌面顶部 Finder 图标,菜单中点击选择"偏好设置" 第二步.在 Finder 偏好设置对话框,在高级选项界面,点击勾选"显示所有文件扩展名"后,关闭设置界面,打开 Finder 就可以看到文件扩展名了!