主頁 > 知識(shí)庫 > 蘋果Mac系統(tǒng)關(guān)機(jī)很慢該怎么解決?

蘋果Mac系統(tǒng)關(guān)機(jī)很慢該怎么解決?

熱門標(biāo)簽:地圖標(biāo)注需要什么學(xué)歷 甘肅外呼系統(tǒng)軟件 電話機(jī)器人百科 無錫手機(jī)外呼系統(tǒng)軟件 河南自動(dòng)外呼系統(tǒng)怎么收費(fèi) 人工智能電銷機(jī)器人騙局 黑龍江外呼系統(tǒng)軟件 江蘇阜寧400電話怎么申請開通 銷售外呼系統(tǒng)是什么

目前來說,造成關(guān)機(jī)慢的主要原因可以分為OS X系統(tǒng)本身問題和應(yīng)用軟件問題。這兩個(gè)的本質(zhì)區(qū)別在于,前者造成系統(tǒng)退出后屏幕出現(xiàn)“旋轉(zhuǎn)齒輪”(Spinning Gear,俗稱無限菊花,甚至有人數(shù)圈數(shù),稱之20圈菊花等等)并等待很長時(shí)間,而后者是在系統(tǒng)退出之前,系統(tǒng)嘗試退出所有當(dāng)前運(yùn)行中的程序的過程,說得更具體點(diǎn)就是,launchd本身退出之時(shí)(系統(tǒng)問題)或之前(應(yīng)用軟件問題)。應(yīng)用軟件問題我們這里無法給出任何的答案,Apple也無能為力。我們主要是討論系統(tǒng)問題。

在后面我們給出一個(gè)靠譜的解決方案之前,我們來看看對一個(gè)系統(tǒng)問題應(yīng)該如何入手。當(dāng)我們?nèi)シ治龃蠹医鉀Q問題的思路的時(shí)候可以發(fā)現(xiàn),有這樣幾個(gè)大致思路,有的從硬件入手,比如重置PRAM和SMC,內(nèi)存等方法;有的是根據(jù)以往的解決大多數(shù)問題的思路開始著手,比如建議修復(fù)權(quán)限、禁止啟動(dòng)項(xiàng)等就是這個(gè)思路;有的是碰機(jī)會(huì),比如關(guān)Wifi等。其實(shí),他們都有可能,但是都沒有抓住一個(gè)基本有效的方法。對于Troubleshooting的手段來說,幾乎所有有經(jīng)驗(yàn)的程序開發(fā)人員/系統(tǒng)管理人員等都會(huì)想到,系統(tǒng)日志logs,檢查系統(tǒng)日志是排除故障的一大利器,尤其是系統(tǒng)級(jí)別的。其實(shí)早有網(wǎng)友就注意從這方面著手,可惜有點(diǎn)偏了沒有找到重點(diǎn)。

1、要抓住重點(diǎn),還要從系統(tǒng)的內(nèi)部管理來說。OS X系統(tǒng)啟動(dòng)的基本步驟是這樣的:

- 通電,Boot-ROM進(jìn)行初始化。

- Boot-ROM后處理,此時(shí)是黑屏,電源LED燈亮,如果出現(xiàn)任何錯(cuò)誤,LED燈會(huì)有規(guī)律閃動(dòng)。

- 開始調(diào)用EFI:會(huì)聽到咚的那一個(gè)長音。

- EFI啟動(dòng):會(huì)響應(yīng)用戶鍵盤,比如進(jìn)入單用戶模式等按鍵。正常情況下,讀取boot.efi正常后,出現(xiàn)銀色的Apple標(biāo)識(shí)。

- 啟動(dòng)內(nèi)核:看到灰色背景和旋轉(zhuǎn)齒輪。從這里開始,就可以從Activity Monitor程序中找到各個(gè)進(jìn)程的關(guān)系了。

- 啟動(dòng)launchd:此時(shí)看到藍(lán)屏。launchd負(fù)責(zé)啟動(dòng)和管理系統(tǒng)的各個(gè)服務(wù)

- login窗口出現(xiàn):

- 用戶登錄:用戶登錄后,系統(tǒng)也是使用另外一個(gè)launchd來為該用戶開啟用戶環(huán)境的,之后,用戶的所有動(dòng)作(除非特殊情況),都在這第二個(gè)launchd的管理之下。

2、現(xiàn)在讓我們開啟在/Applications/Utilities目錄中的Activity Monitor程序,選擇All Process, Hierarchically, 如下圖,就可以看到各個(gè)進(jìn)程之間的關(guān)系。核心總是占用任務(wù)ID 0的,而第一個(gè)launchd總是ID 1,用戶launchd(下圖中的ID 154)是ID 1的進(jìn)程子進(jìn)程。

3、既然啟動(dòng)是這個(gè)過程,那么退出/關(guān)機(jī)就是一個(gè)反過程。先關(guān)閉用戶環(huán)境,就是用戶launchd的退出過程;之后是系統(tǒng)退出過程,也就是ID 1的launchd的退出過程。所以,系統(tǒng)關(guān)閉慢的原因,應(yīng)該是ID 1的launchd在關(guān)閉各個(gè)由他負(fù)責(zé)關(guān)閉的某個(gè)/某些服務(wù)的退出延遲造成的。當(dāng)我們了解了這些之后,就可以著手分析了。

如何找到哪個(gè)服務(wù)進(jìn)程退出延遲了呢?這就要看日志了,打開Console程序,在左邊找到/var/log >> com.apple.launchd >> launchd-shutdown.system.log,之后,在右上角的查找中,輸入timeout,就會(huì)出現(xiàn)如下圖的畫面,改圖這是我修改之后的截圖,在修改之前,兩個(gè)服務(wù)的timeout時(shí)間, applevents是20 seconds, securityd是15秒。

4、這就找到了系統(tǒng)關(guān)閉奇慢的真正原因了,launchd給各個(gè)服務(wù)發(fā)出SIGKILL信號(hào)后,等待所有服務(wù)都退出后,才能退出,而由于一些服務(wù)退出超時(shí),就造成整個(gè)系統(tǒng)關(guān)閉放慢。至于,這些服務(wù)為什么/什么情況下出現(xiàn)退出異常超時(shí)以及如何徹底解決之,我們只有讓Apple的系統(tǒng)開發(fā)人員處理了,我們無從修復(fù),不過我們可以通過給他設(shè)定退出超時(shí)時(shí)長來改變一下它的行為,這就需要一點(diǎn)對plist文件的知識(shí)了,具體的系統(tǒng)(launchd)如何定義和解讀plist文件,我們不進(jìn)行深入探討,只給出方法,有興趣的可以去developer.apple.com去讀相關(guān)的文檔。

綜上所述,目前來說,比較靠譜的思路就是,給每個(gè)造成退出超時(shí)的系統(tǒng)服務(wù)設(shè)定一個(gè)比較短的退出超時(shí)時(shí)間(1或2秒)。

根據(jù)上面找到的兩個(gè)服務(wù)來說,一個(gè)是com.apple.securityd,一個(gè)是com.apple.coreservices.appleevents。我們使用下面的命令來對他們進(jìn)行處理。

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、如果系統(tǒng)詢問,請輸入當(dāng)前管理員密碼,以完成該命令。

之后,重新啟動(dòng)系統(tǒng)后,再次關(guān)機(jī)的時(shí)候,就可以實(shí)現(xiàn)"秒關(guān)",而看不到旋轉(zhuǎn)菊花了。當(dāng)然,每個(gè)系統(tǒng)的情況不一樣,造成緩慢的原因會(huì)不同,所以,每個(gè)人需要針對自己機(jī)器的情況來具體處理。如果需要幫助,可以留言,并把上面Console中timeout的情況說明,我可以為大家具體寫出命令。

標(biāo)簽:湘潭 南寧 七臺(tái)河 揚(yáng)州 合肥 六盤水 煙臺(tái) 安順

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《蘋果Mac系統(tǒng)關(guān)機(jī)很慢該怎么解決?》,本文關(guān)鍵詞  蘋果,Mac,系統(tǒng),關(guān)機(jī),很慢,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《蘋果Mac系統(tǒng)關(guān)機(jī)很慢該怎么解決?》相關(guān)的同類信息!
  • 本頁收集關(guān)于蘋果Mac系統(tǒng)關(guān)機(jī)很慢該怎么解決?的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章