问题描述
自从我安装了11.10(现在我正在测试12.04和14.04)以来,我一直在关注每周出现的更新如何影响Compiz的性能和资源使用情况。对于我所看到的,CPU和内存使用率已降低(特别是内存)。我正在比较安装12.04 /14.04没有任何更新,然后应用所有更新,并比较12.04到14.04。例如,nautilus使用的小于35 MB(对我而言,它在70 MB到150 MB之间与之前的几个版本进行相同的活动)。
其他进程也收到了一些优化,它将我的总内存使用量从大约850 MB降低到610 MB(我也使用像Apache,MySQL等的服务……)但是在这段时间之后,唯一一个留下来的Compiz几乎一样。它仍然使用超过100MB的启动。只使用带有Unity的桌面而没有运行其他程序,它需要(现在)133 MB。我可以使用哪些选项来降低内存占用而不会影响Unity的稳定性(例如,从Compiz配置中删除OpenGL插件是一个不错的想法)。
可以做些什么来降低Compiz的内存使用量?
注意 – 我已经安装了Compiz配置设置管理器(CCSM)。
最佳解决办法
根据我的经验,降低Compiz内存使用量是相当困难的。我可以建议降低OpenGL插件中的纹理质量,但这不会改变太多afaik。
compiz内存增加的另一个来源可能是内存泄漏。这似乎有时会被指标触发,但也可能来自其他来源(目前还不确定)。
我的解决方案是定期重启统一,使用包含以下内容的简单脚本:
#kill compiz completely, including all child processes, freeing it's memory:
killall -9 compiz &
#run unity and give you back a free terminal.
unity & disown
我知道这不是最好的答案,所以我自己也在关注这个问题,看看是否有人有更好的提示。
次佳解决办法
解决compiz内存泄漏问题的方法是:
sudo kill -HUP“compiz process id”
这不是一个很好的解决方案,但它可以释放泄漏的内存,而不会完全杀死进程。
第三种解决办法
我知道这是一个老帖子,但Gus的回答帮助了我,我想补充一下。这就是我所做的(在Ubuntu 12.04上):
-
Alt
+F2
(运行应用程序) -
计划任务
-
新的经常性任务
-
killall compiz -HUP
-
每天00:00
现在compiz将每晚自动重启,而不必知道进程ID。
我的问题是,如果我将屏幕锁定几天,打开屏幕锁需要约30秒,并且compiz内存使用量大约为1000 MB。