LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
12
返回列表 发新帖
楼主: hubert_star

收集使用情况:新的xorg+kms+intel的人,有内存泄漏的情况发生吗?(新的看法)

[复制链接]
 楼主| 发表于 2009-4-12 23:39:12 | 显示全部楼层
firefox以前有这个问题,现在没有了,关掉tab后内存恢复的
回复 支持 反对

使用道具 举报

发表于 2009-4-12 23:41:13 | 显示全部楼层
1554 root      19  -1  218m  63m  44m S 13.6  8.4  38:32.43 X

uxa和dri2...
回复 支持 反对

使用道具 举报

发表于 2009-4-12 23:44:51 | 显示全部楼层
Here is the third release candidate in preparation for the upcoming
2.7.0 release.

As before, the main improvements since the 2.6-series driver include:

SDVO-TV support, available on ADD2 card (bug#9992) and
D945GCLF2 board (bug#17776).
Basic SDVO-LVDS support

Tearing-free xv (bug#19635)

For for panel startup failure on some specific laptop models
(bug#17292) and various fixes for UXA/DRI2 and Kernel
Modesetting.

Please give it a try and report bugs as usual (referring to
http://intellinuxgraphics.org/how_to_report_bug.html).

昨天2.6.99.903出来时的邮件列表
回复 支持 反对

使用道具 举报

发表于 2009-4-13 00:02:40 | 显示全部楼层
lz那里有我这样的情况么?
http://www.linuxsir.cn/bbs/thread348419.html

我按照freedesktop上的bug report打了补丁. 似乎不是那么坏了.

之前没有patch的时候, 通常虚存有用400M, used就大概70M吧
然后自始至终 虚存和used都不变, 但是free -m里面虚存猛涨.....
内存写完就写swap, 最后swap都会写完.
(不过我不是arch, 是debian, 只不过debian那边没有讨论这个问题的氛围)

现在打了patch之后, 似乎好了些, 但是总内存用量一般都在1.6G (kde4, 进行一些复杂的使用之后关掉所有程序), 过了不知道多久, 再一看发现只有1.2G... 莫名其妙. 反复最大化最小化glxgears还是每次free里面看到增加5M虚存. 关掉之后当时内存跌不会去, 但过好久忽然就发现内存用量跌回来了, 不知道是还有bug还是什么有原因.

(主要是不知道虚存怎么算得, 比如堆里面要一个100M数组但是只用前面一小段, 都不占用那么大虚存的, 也可能是内存管理里面数组是动态的连续存储空间? 比如1不够用了就再要一个2, 把原来的1复制过来然后dispose了, 再不够用了4, 再不够用了8, ...)
回复 支持 反对

使用道具 举报

发表于 2009-4-13 00:14:07 | 显示全部楼层
我的~~~
  1. Console ~ $ top | grep X
  2. 2488 root      19  -1 59732  32m 9216 S    2  3.2   0:25.32 X
复制代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-4-13 00:28:04 | 显示全部楼层
6236 root      20   0  427m  26m  10m S    1  0.8   0:12.39 Xorg

我的

楼上几个贴出的内存占用,乘上内存总数,应该可以看出是在50-100M这个数量级上

我发现,不开KMS,仅仅使用UXA,那么内存占用稳定在30M左右,刚开机的话有18M

而开了KMS,内存疯涨

以上结果建立在使用官方intel驱动的基础上

然后我去freedesktop的git上抓代码,编译最新的驱动

发现,开KMS后内存基本稳定了,在30-50这个数量级,开再多的程序,也就维持在这个水平。但是,在dmesg里面,出现了很多

Xorg:6239 freeing invalid memtype xxxxxxxx-xxxxxxxxx

这个错误,从字面来看,是不是把有问题的内存占用给强制释放了?这个错误后面跟的是内存地址。

在最新驱动的基础上,不开KMS,就没有这个错误,也不会泄漏内存。

看来,KMS是此次内存泄漏的主要原因,但是具体是驱动、内核还是dri/drm,搞不清楚。

谁还能帮我测试一下?

就是你们开kms看看效果,不开看看效果,当然是几个小时正常使用下来的效果。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-4-13 14:40:52 | 显示全部楼层
今天进行了一次比较详细的对比,以均以官方提供的驱动和xorg组件为准。

首先,不开KMS,启动。

    开机后,内存占用在281M,Xorg进程占用稳定在20.1M

    按照实际使用情况,打开ff,openoffice,virtualbox(win2k3),eclipse,用了大约1个小时。

    此时,总体内存涨到1.7G,xorg的占用内存稳定在38M左右。

    关掉以上开启所有的(大)程序,总体内存占用恢复到652M,而xorg略有减少:38512k->38276k

    多试几次以后,xorg的占用虽然不断增加,但是增加的很少,最后我重启前占用40356k。

    而系统总体内存占用情况没有大的变化。

然后,打开KMS,启动。

    很有意思,开机后xorg以60M的内存占用吓了我一跳,但是看系统总体占用内存:284M。也就是说,虽然xorg的内存占用比较大,但是跟别人共享的多了一些。然后我注意到,不管开不开KMS,xorg的驻留内存与共享内存的差稳定在15M左右,增加的这部分内存全部是共享内存。(共享内存、驻留内存均是从gnome的系统监视器中看到的,我另外做了一个for的循环ps出一段时间以来的xorg内存占用)。

    继续我们的测试,打开上述的几个程序,好,系统总体占用在1.7G左右,与之前基本没有什么变化。xorg的内存占用,我不太想说,达到了350M!

    然后我关掉所有的大程序,再看内存占用。此时,xorg的内存减少了一点点360644k->359152k。详细计算一下发现xorg增加的都是共享内存。

    再开再关,xorg保持稳定但是少量的增长,我试过4-5次以后,空载系统内存维持在680M左右,每次变化也不大了。

    再去分析内存占用,此时,xorg有362M,系统共占用了680M。

    也就是说其他的程序仅仅使用了320M的空间?对比之前的测试,空载的时候不开kms其他应用加起来有600M以上的空间。

    列出我的几个程序,大家看看:

           httpd (我跑的wiki,而且作为浏览器首页):8个进程,最大的16M,最小的8M
           fcitx(我的词库很大,fcitx是把词库整体载入内存的):138M
           gnome-do:40M
           compiz: 40M
           其余乱七八糟的,基本上每个都是10M以上的。

那么我们是不是可以得到这么一个结论:开了KMS以后,虽然xorg的内存占用不断增加,但是增加的这部分不是泄漏产生的,而是xorg与内核之间内存管理机制发生了变化,xorg占用更多的程序给其他程序用,而不是自己占用的。
回复 支持 反对

使用道具 举报

发表于 2009-4-13 16:18:23 | 显示全部楼层
4835 root      20   0  575m 113m  12m S    2 11.7  17:26.42 X
-/+ buffers/cache:        405        562
=====下面我开KMS=========================

4638 root      20   0  316m 130m  64m S    1 13.5   2:52.69 X
-/+ buffers/cache:        263        704

4638 root      20   0  475m 185m  86m S    3 19.2   4:13.76 X
-/+ buffers/cache:        259        708
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表