当前位置: 首页>>技术问答>>正文


为什么Xorg会占用如此多的内存和CPU?

, , , , ,

问题描述

我最近在大规模硬盘故障后重新安装了Ubuntu 11.04 Natty。

现在,出于某种原因,compiz和Xorg决定开始吃掉我的RAM和CPU – GB是一个有趣的想法。以正常数量启动,但快速气球达到1-2 + GB并开始使用我的大部分CPU。这从未发生过,但我的硬件都没有真正改变。唯一的区别是我干净地安装了11.04,而在我从10.10升级之前。

例如:昨晚重新启动了我的电脑。只有程序运行才是传输。今天早上回来 – Xorg使用1.5GB内存和超过50%的CPU。没有其他运行或安装。我根本没有激活任何花哨的Compiz插件。是什么赋予了?

我在4x AMD Athlon(tm)II X4 640处理器和8GB RAM上运行11.04。我正在使用集成的ATI Radeon HD3300 GPU和AMD Catalyst 11.5驱动程序 – 但是11.4 AND 内置 fglrx驱动程序也会出现此问题。

如果需要,我可以提供任何其他日志或sysinfo。

最佳解决思路

我的Xorg并没有消耗大量的CPU,但是在计算机启动的大约一天之内,它的内存膨胀到了1.2 GB。解决这个问题的唯一方法是重启。在尝试禁用NVidia驱动程序后,切换到肉桂,切换到gdm并最终踢死该死的东西(这让我感觉更好),我注意到当我切换到控制台tty(ALT + F1或F2,… ,F6)在某些gdm /lightdm服务重启期间,屏幕上滚动了很多错误消息。注意,我只切换到ALT + F1,我还没有登录。

消息是报告我的USB tv-tuner卡没有正确初始化。这些消息一直在滚动,就像系统卡在无限循环中一样,不断尝试初始化电视卡(当然每次都失败)。正如预期的那样,一旦我断开了USB tv-card,消息就停止了,但令我惊讶的是Xorg也停止了充气。为了确保,我重新连接了usb电视调谐器并且出现了错误消息,并且Xorg再次开始像在加油站填充的SUV一样消耗内存。

但是,在村民们(a.k.a ubuntu用户)即将粉碎他们功能失调的USB设备并为功能失调的USB设备供应商提供服务之前,情景突然转变。实际上并不是usb tv-card引起了所有这些麻烦。 tv-card只是症状,而不是问题的根源。情节加厚……

在没有发生事故之前使用过这个tv-card之后,我更好地查看了抱怨tv-card的错误消息。还有另一条线抱怨usb-hub的usb端口,我插入了我的tv-card。嗯,我刚买了这个中心。那么我尝试直接在主板上的USB端口插入tv-card。一切正常!没有错误消息,也没有Xorg膨胀。所以最后实际问题是这样的:

由于usb设备的初始化错误,Xorg正在消耗内存(在我的书中,这是一个严重的错误)。由于很多人在ubuntu 12.04中报告了Xorg的问题,我建议你也看看你的USB设备。当插入我的新usb-hub时,我的tv-card无法初始化,这导致了问题。把它放在主板上的一个单独的USB端口上解决了这个问题。

附: usb-hub很可能是linux-incompatible,或者应该由具有自己的电源适配器而不是由计算机的usb总线供电的那个替换(参见USB hub not working properly Ubuntu 12.04)。我将web-cam插入集线器时也无法正常工作。如果插在主板上的USB端口,它确实有效。但请注意,当我将其插入usb-hub时,dmesg报告网络摄像头已正确识别并初始化(尽管cheese只给我一个黑色图像),并且由于没有错误消息,Xorg不会填满计算机的内存。

P.P.S.我邀请心烦意乱的村民们聚集在one-eyed蒂姆的谷仓外面,将他们功能失调的usb-hubs扔进一个大型节日篝火。火灾发生后,我们也将投入usb-hub供应商。为大家免费提供啤酒! Mua哈哈哈哈(深沉的声音笑声)

🙂

次佳解决思路

如果您在Classic环境中使用Compiz,请尝试安装Compiz Fusion Icon并为窗口管理器集成选择合适的选项…

默认设置为:

  • Compiz的

  • Metacity的

  • Xfvm

也存在选项:

  • 间接渲染

Compiz包含自己的窗口管理器,如果在CompizConfig设置管理器中使用“选定/启用/禁用插件/设置”的“non-wrong设置”,则可以更好地使用硬件传感器。

Metacity和Xfvm选项分别针对GNOME(Classic)和Xfce。

但是,根据Compiz的配置集和任何硬件供应商的选择,它可以带来截然不同的结果。

Compiz Fusion Icon只允许快速re-enable管理员,但它不是解决方案,只是很好的测试工具,在我看来……


从其他解决方案也可以使用更新的lm-sensors

http://lm-sensors.org/

由于你的系统升级了一些驱动程序,而不是”in abreast” 🙂

一些驱动程序通过使用旧传感器库从硬件传感器读取数据不正确的数据…风扇转速加倍等

Be careful in upgrade of lm-sensors and complete this procedure strongly with caution !


参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/3070.html,未经允许,请勿转载。