昨晚開始,我的 Macbook 就經常發生靈異現象:明明沒跑什麼很吃CPU的軟體,電腦卻慢得不聽使喚;元凶是一個叫做 syslogd 的 process,CPU loading 經常吃到 140% 以上;網路上還有張圖,syslogd 吃 CPU 吃到 900% 以上,不知道怎麼吃的,真是瘋了。
上網找了一堆資料來看,原來很多人都有這樣的問題;不管是跑 Flash、Adium或是 Firefox,三不五時就會跑出這個吃CPU很兇的 syslogd,而且到 console 裡用 sudo killall 來砍也會再度復活,繼續吃CPU,煩死。
這東西看起來像是做系統 log 檔的 daemon,資料指出它會讓 /var/log 下的 als.db 和 system.log 兩個檔案暴肥,長到數百MB以上;而且砍掉後也還會再長出來。網路上有些解決方法,例如去改 syslogd 的 plist 檔,限制 als.db 的大小,但此招對我無效,還是會一直卡在 syslogd,als.db 和 system.log 也還是照長不誤,什麼事都做不了。
蘋果官網的討論區也有不少人提出這問題,但仍然沒有確實有效的解答;Twitter 搜一下也會搜到不少苦主。蘋果官方倒是沒看到什麼解決方案,這可不是 Leopard 才有的問題,之前 10.5.4 就有人在唉唉叫了。這麼久都沒解答,實在不像話。
火大祭出 Time Machine 回復大法,把系統回復到還沒發生過這問題的兩三天前,看能不能解決。如果解決不了,我對 Mac OS X 的信心就大大動搖了。
後記:經過四五小時的還原後,Macbook 總算恢復正常,不再出現吃 CPU 不償命的 syslogd;als.db 和 system.log 也不會再像長癌一樣快速變肥變大。回想一下,昨晚問題出現前,包括 perian 和 Adium 都出現更新訊息,換了新版後就出現 syslogd 狂咬 CPU 的症頭,這兩天先別更新好了。如果有 Mac 愛用者在更新 perian 或 Adium 後也出現 syslogd 的症頭,麻煩也在下面通報一下。
我没有运行这两个软件,只是开机就会这样啊!
可以 tail 一下 system.log 應該就很容易看到人是誰殺的,通常 syslog 是不會出毛病的,而是有其他軟體出毛病造成 syslog 暴走,所以你 kill syslog 是無用的,因為暴走的原因還活著
應該可以看一下/etc/syslogd.conf
其他軟體出毛病造成 syslog 暴走
麻煩了,我的也一樣呀。
我的方法很簡單,就是用 Time Machine 回到出問題前的時間點…