問題描述
幾個月以來,在我使用的其中一個桌麵 Ubuntu 14.04 係統上,CPU 經常無緣無故地上升到 80-100%。 htop
通常會將責任歸於文件係統進程,例如 nemo
或 ntfs
。為了讓 CPU 恢複正常,我會終止這些進程,這在某些情況下會導致無法訪問文件係統並隨後重新啟動。
幾天前,我注意到每當這種情況發生時,另一個進程總是存在,也使用高 CPU: mediascanner-service-2.0
。一些研究讓我找到了 this thread at the Forum,它隻是建議將其移除。所以我做了。
最終結果出人意料地是積極的:不僅高 CPU 負載的情況消失了,係統也變得更快了。 Lens 的加速非常顯著:找到像 Calc 這樣的應用程序現在最多隻需要 2 秒,而以前需要大約 20 秒。查找文件現在需要大約 5 秒,而以前需要 30 秒。像 Eclipse 這樣的繁重程序啟動速度更快,工作空間也更加流暢。磁盤訪問頻率似乎也整體降低了。
這個 mediascanner2.0
包到底是什麽?它是 Unity 7 的一部分還是後驗安裝的依賴項?是否可以阻止其安裝?
更新:在 Seth’s suggestion 之後,可以將此包跟蹤到 indicator-session
:
$ sudo aptitude why mediascanner2.0
i indicator-session Recommends indicator-applet (>= 0.2) | indicator-renderer
i A unity8 Provides indicator-renderer
i A unity8 Recommends unity-scope-mediascanner2
pi unity-scope-mediascanner2 Depends mediascanner2.0
顯然,mediascanner2.0
(和 Unity 8 shell)是基礎 14.04 係統的一部分。剩下要回答的是這個流氓包的確切功能。
最佳答案
mediascanner2.0
是 Unity 8 中用於發現媒體然後播放的包。例如,Unity 8 上的 Core Music App 使用 mediascanner
掃描音樂目錄(或任何與此相關的目錄),然後播放音樂。由於 Ubuntu 正在向 Unity 8 發展,它默認包含在 Ubuntu iso 中。
mediascanner
正在掃描您的整個硬盤驅動器以發現媒體,因此第一次,它會降低您的計算機速度。最終,它應該緩存它的結果,然後它就不再是資源密集型的了。
您有兩個選項可以幫助您解決問題:
-
(首選解決方案)您可以通過創建新文件並將其命名為
.nomedia
來明確告訴mediascanner
不要嘗試掃描目錄。然後,當mediascanner
到達這個目錄時,它甚至不會費心去索引它。理論上,您可以對計算機上的多個目錄執行此操作,並且mediascanner
應該停止索引它們。 -
您可以卸載它,這在短期內(直到 Unity 8 成為默認設置)將阻止這種情況發生,但您可能會遇到依賴問題。注意:如果你在做 Ubuntu SDK 開發,
mediascanner
是一個依賴項。
希望這有幫助:)