Translate

2012年12月22日 星期六

解決QTKitServer 導致CPU資源使用率過高問題


這個就是Sandbox


為了這個問題,爬了一些文,發現原來這個問題常常發生。原因是當你有一些電影檔案,如MKV,或AVI,放在同一個文件夾中,當您打開此文件夾,QTKitServer便會自動建立縮圖。問題就出在這裡,QTKitServer經常在為MKV或AVI檔建立縮圖時,都不成功!當QTKitServer建立縮圖失敗後,它還會不停反覆嘗試,繼而造成高CPU /硬盤的瘋狂使用問題。更可怕的是,往往即使你已經把文件夾關閉,它還會努力地不停繼續工作。

另外,OSX中有一個Sandbox,幾乎所有的程式都在當中運行,當中更包括主系統程式。此Sandbox有它的內建規則,只要修改這些規則,我們便可以改變程式的工作方式。

為了修正我們剛剛提到的問題,我們現在便要透過改變這些規則,使QTKitServer無法再觸摸mkv文件。請注意!!!這可能會有些副作用,就是可能你再也不能夠用QuickTime打開mkv文件了。不過,Who cares?我們只需要使用VLC或者一些其他的電影播放器不就可以了嗎?

如果你已準備好,便可以執行以下的操作:



  1. 打開終端機,鍵入:sudo nano/System/Library/Sandbox/Profiles/com.apple.qtkitserver.sb
  2. 這將會替你打開Nano編輯器(Nano Editor) 打開規則文件。用方向鍵指到該文件的底部,
  3. 然後輸入: (deny file-read* (regex #"^.*\.mkv$"))
  4. 然後輸入: (deny file-read* (regex #"^.*\.AVI$"))
  5. 然後輸入: (deny file-read* (regex #"^.*\.FLV$"))
  6. 在此之後按Ctrl-O保存,並然後按Ctrl-X退出應用程序。


來到這裡,大工便告成了!QTKitServer不會再為你的MKV,FLV和AVI檔建立縮圖,而CPU /硬盤使用會回復到正常。希望這能幫到大家!

沒有留言:

張貼留言