在我的桌面上,Xorg泄漏了大量内存.我习惯让这台机器开启几天(几周,几个月……),但是大约每周一次我*重启xorg,因为它占用了太多的内存.
我是唯一受此问题影响的人吗?为什么会这样?
是xorg被窃听,还是其他东西(也许是一些xorg模块)?
我可以做些什么来避免它吗?
更多信息:
我在ArchLinux上,内核2.6.36,nvidia驱动程序260.19.36,gnome 2.32.1.
无论如何,我有很多时间都有这个问题,比如一年多.
以下是在大约9天的正常运行时间后,Xorg过程如何显示在顶部…
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1591 root 20 0 278m 229m 9364 S 2 11.8 244:38.73 Xorg
我只有几个打开的窗户.对我来说229MB的常驻内存看起来很多(而且它会随着时间的推移而不断增长).一旦我重新启动Xorg,我还会在其生命的开始时添加进程统计数据.
这是我的Gnome桌面启动后立即:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1573 root 20 0 89508 43m 11m S 1 2.2 0:03.53 Xorg
解决方法:
X服务器中的一些内存泄漏是应用程序的错误;如果他们创建服务器端的Pixmaps而不是自己清理,他们会永远坚持下去. (这是一个特性,所以例如GNOME可以安装一组标准的Pixmaps,然后通过传递它们的XID在任何程序中使用它们作为优化.)xrestop
可用于跟踪这些.