什么是mediascanner服务以及如何避免安装它?
几个月以来,在我使用的桌面Ubuntu 14.04系统之一上,由于没有明显的原因,CPU经常上升到80-100%。 htop
通常将责任归于文件系统进程,例如nemo
或ntfs
。 为了让CPU退回,我会杀死这些进程,这在某些情况下会导致无法访问文件系统并导致重新启动。
几天前,我注意到,每当发生这种情况时,另外一个进程也始终使用高CPU: mediascanner-service-2.0
。 一些研究引导我到论坛的这个主题 ,只是建议删除它。 所以我做了。
最终结果出乎意料地是积极的:不仅高CPU负载事件消失了,系统总体上要快得多。 镜头的加速是戏剧性的:找到一个类似Calc的应用程序现在最多需要2秒,而之前需要花费大约20秒。 现在查找文件需要大约5秒钟,而在此之前大约需要30秒。 像Eclipse这样的重型程序启动速度更快,工作空间也更流畅。 似乎整体磁盘访问频率也在降低。
这个mediascanner2.0
软件包到底是什么? 它是Unity 7的一部分还是后验安装的依赖项? 是否可以防止其安装?
更新 :根据Seth的建议 ,可以将此包跟踪到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系统的一部分。 留下来回答的是这个流氓包的确切function。
mediascanner2.0
是Unity 8中用于发现媒体然后播放它的软件包。 例如,Unity 8上的Core Music App使用mediascanner
扫描音乐目录(或任何目录),然后播放音乐。 由于Ubuntu正在向Unity 8发展,因此它默认包含在Ubuntu iso中。
mediascanner
正在扫描你的整个硬盘来发现媒体,所以第一次,它会减慢你的计算机。 最终,它应该缓存其结果,然后它将停止如此资源密集。
您有两种方法可以帮助解决问题:
- (首选解决方案)您可以明确告诉
mediascanner
不要尝试通过创建新的fie并将其命名为.nomedia
来扫描目录。 然后,当mediascanner
到达此目录时,它甚至都不会为它编制索引。 从理论上讲,您可以在计算机上为多个目录执行此操作,并且mediascanner
应该停止索引它们。 - 您可以卸载它,在短期内(直到Unity 8成为默认值)将阻止此操作发生,但您可能会遇到依赖性问题。 注意:如果您正在进行Ubuntu SDK开发,则
mediascanner
是一个依赖项。
希望这有助于:)
资源