Xorg с драйвером nvidia жрёт память

Проблема - Xorg сразу после запуска с аппетитом сжирает 100 метров памяти, а в процессе работы доедает ещё 150, наедается и решает что неплохо бы и отдохнуть уже, после чего начинает люто, бешено тормозить. xrestop при этом показывает имхо вполне вменяемые

Pixmaps: 56445K total, Other: 367K total, All: 56812K total

С другими дровами (nv и nouveau) всё по другому - с nv Xorg тормозит с самого начала, а память жрёт так же активно, а с nouveau регулярно виснет (однако между зависаниями показывает вполне адекватные 25-30 метров).

Как можно урезать ему аппетиты хотя бы до 60-70 метров?

покажите

покажите cat /proc/mtrr и use в make.conf

cyberdimk

reg00: base=0x000000000 (

reg00: base=0x000000000 ( 0MB), size= 1024MB, count=1: write-back
С дровами nouveau был ещё один участок 256 метров по смещению c0000000 (видяхина память), вот только не помню, write-back или чтото другое.

USE="bash-completion embedded emerald fontconfig freetype kde mysql nsplugin \
ntpl pm-utils rar real system-libvncserver threads unrar v4l v4l2 \
xcomposite xinerama zip -ldap -semantic-desktop"

CONFIG_MTRR=yCONFIG_MTRR_SAN

CONFIG_MTRR=y
CONFIG_MTRR_SANITIZER=y
CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=1
CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1

?
если не поможет - резать руками, передавая кернелу параметрами размеры.
в последнем параметре можно игратся , выставляя до 7 включительно

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

Поигрался с последним

Поигрался с последним параметром (прогнал его от 0 до 7, настраивал через параметр ядра mtrr_spare_reg_nr). Никаких результатов. Включил uvesafb - появился ещё один регион

reg01: base=0x0fb000000 ( 4016MB), size=    8MB, count=1: write-combining

Попытка сделать изпод иксов

echo 'base=0xc0000000 size=10000000 type=write-combining' > /proc/mtrr

вызвала слабое возмущение вида bash: echo: ошибка записи: Недопустимый аргумент.

Вск Июл 25 02:09:40-root@arago-desktop:~
^_^ lspci -vvv -s 01:00.0
01:00.0 VGA compatible controller: nVidia Corporation G86 [GeForce 9400 GT] (rev a1) (prog-if 00 [VGA controller])
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
        Latency: 0
        Interrupt: pin A routed to IRQ 16
        Region 0: Memory at fd000000 (32-bit, non-prefetchable) [=16M]
        Region 1: Memory at c0000000 (64-bit, prefetchable) [=256M]
        Region 3: Memory at fa000000 (64-bit, non-prefetchable) [=32M]
        Region 5: I/O ports at ac00 [=128]
        [virtual] Expansion ROM at fe8e0000 [disabled] [=128K]
        Capabilities: [60] Power Management version 2
                Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
                Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
        Capabilities: [68] MSI: Enable- Count=1/1 Maskable- 64bit+
                Address: 0000000000000000  Data: 0000
        Capabilities: [78] Express (v1) Endpoint, MSI 00
                DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s <512ns, L1 <4us
                        ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset-
                DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
                        RlxdOrd+ ExtTag+ PhantFunc- AuxPwr- NoSnoop+
                        MaxPayload 128 bytes, MaxReadReq 512 bytes
                DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-
                LnkCap: Port #0, Speed 2.5GT/s, Width x16, ASPM unknown, Latency L0 <512ns, L1 <4us
                        ClockPM- Surprise- LLActRep- BwNot-
                LnkCtl: ASPM Disabled; RCB 128 bytes Disabled- Retrain- CommClk+
                        ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
                LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
        Capabilities: [100] Virtual Channel <?>
        Capabilities: [128] Power Budgeting <?>
        Capabilities: [600] Vendor Specific Information <?>
        Kernel driver in use: nvidia
        Kernel modules: nvidia

Однако же в

Вск Июл 25 02:07:22-root@arago-desktop:~
^_^ grep mem -i /var/log/Xorg.0.log
[    15.669] (--) PCI:*(0:1:0:0) 10de:042c:0000:0000 nVidia Corporation G86 [GeForce 9400 GT] rev 161, Mem @ 0xfd000000/16777216, 0xc0000000/268435456, 0xfa000000/33554432, I/O @ 0x0000ac00/128, BIOS @ 0x????????/131072
[    16.570] (--) NVIDIA(0): Memory: 524288 kBytes
[    16.614] (--) NVIDIA(1): Memory: 524288 kBytes
[    16.619] (II) NVIDIA: Using 768.00 MB of virtual memory for indirect memory access.
[    16.701] (==) NVIDIA(0): Disabling shared memory pixmaps
[    16.809] (==) NVIDIA(1): Disabling shared memory pixmaps

творится вообще нечто несусветное. Ну где они у этой самоуверенной карты нашли Memory: 524288 kBytes? Хотя она сама при загрузке (ещё до биоса) показывает что у ней 512 метров рамы. А по документам и по мнению lspci у ней 256 метров. И почему ещё indirect memory access?!

UPD Почитал http://www.nvnews.net/vbulletin/archive/index.php/t-52632.html - сказано что nvidia юзает по умолчанию не MTRR а PAT. Но PAT можно включить только для x86, а у меня amd64...

А если во всей таблице вывода

А если во всей таблице вывода xrestop пробежаться? Кто много съел?
У меня при том, что plasma-desktop, compiz (emerald), konsole, chromium - 1 вкладка = итого
Pixmaps: 21617K total, Other: 193K total, All: 21810K total
Nvidia-driver-195.36.31
xorg-server-1.8.2

plasma-desktop (18035k); kwin

plasma-desktop (18035k); kwin (7521K). Ксорг не отдаёт память после освобождения пиксмапов. Версии пакетов такие же.

у меня ксорг жутко тормозит

у меня ксорг жутко тормозит только после того, как посижу в мозилле на страницахс флешем :( до этого момента все рвботает достаточно шустро...

- - -

во время тормозов, в:
#> zcat /var/log/messages-* | grep vmalloc=
нет ли случайно таких записей:
kernel: vmap allocation for size 8192 failed: use vmalloc=<size> to increase size.

P.S.
CFLAGS="-march=native -mtune=native -O2 -pipe -fomit-frame-pointer -ftree-loop-im"
nvidia-drivers-256.35
xorg-server-1.8.1.902 (+dmx -doc +hal +ipv6 +kdrive -minimal +nptl -static-libs -tslib +udev +xorg)
Compiz-0.8.6
TwinView: два по 1600x1200
Geforce 7950GT

$ ps o rss,vsz,start_time p `pgrep X`
  RSS    VSZ START
75240 118432 Jul16

$ date
Вск Июл 25 00:15:35 MSD 2010

Записей в messages

Записей в messages нет.

x11-drivers/nvidia-drivers-195.36.31
x11-base/xorg-server-1.8.2 (hal ipv6 nptl udev xorg -dmx -doc -kdrive -minimal -static-libs -tslib)
media-libs/mesa-9999
x11-libs/libdrm-9999
sys-kernel/vanilla-sources-2.6.35_rc5
kde-base/kwin-4.4.5

CFLAGS="-O2 -pipe -march=native"
CXXFLAGS="${CFLAGS}"

Screens: 1920x1080 (:0.0); 1024x768 (:0.1)

Вск Июл 25 00:45:07-arago@arago-desktop:~
^_^ ps o rss,vsz,start_time p `pgrep X`
RSS VSZ START
276504 380184 Jul23

Вск Июл 25 00:46:25-arago@arago-desktop:~
^_^ date
Вск Июл 25 00:47:03 MSD 2010

PCI-E Gf 9400GT Chaintech GF94GT-G256N1, 256M GDDR2 64bit 550/533МГц, PCI-E2.0, DVI/RCA/VGA

Сейчас кстати не тормозит особо. Только во время своппинга (ксорг, цуко! >_<), данные по расходу памяти взяты после swapoff -a

ЗЫ а -mtune=native что нить даёт помимо того что даёт -march=native?

Arago написал(а): ЗЫ а

Arago написал(а):
ЗЫ а -mtune=native что нить даёт помимо того что даёт -march=native?

даёт. Кроме оптимизации под последние архитектуры даёт ещё и совместимость со старыми процессорами

Ясно. Обновил дрова до 256.35

Ясно. Обновил дрова до 256.35 - трабл остался. Правда удалось заметить что сразу после запуска KDE ксорг ест всего 30-35 метров, но после открытия любого окна кроме ksysguard (через ctrl-esc) ксорг мгновенно (!) жрёт ещё 70 метров. То же самое при переключении в консоль чтобы xrestop померить (хотя завтра можно будет попробовать по сети посмотреть его). При этом если систему не трогать - ксорг не жрёт, остаётся на 30-35 метрах.
UPD любопытство оказалось сильнее лени. На пиксмапы сразу после загрузки ушло 23 метра из 33. В сухом остатке - 10 метров на сам ксорг. Вот только как бы теперь закрепить результат...
UPD2 Перегенерил xorg.conf с нуля через nvidia-xconfig - ничего не изменилось.

Вск Июл 25 02:49:54-arago@arago-desktop:~
^_^ cat /etc/X11/xorg.conf|wgetpaste
Your paste can be seen here: http://paste.pocoo.org/show/241406/

Вск Июл 25 02:50:57-arago@arago-desktop:~
^_^ cat /var/log/Xorg.0.log|wgetpaste
Your paste can be seen here: http://paste.pocoo.org/show/241407/

UPD3 Ранее использовавшийся xorg.conf:

Вск Июл 25 02:54:13-arago@arago-desktop:~
^_^ cat /etc/X11/xorg.conf.current|wgetpaste
Your paste can be seen here: http://paste.pocoo.org/show/241408/

Вск Июл 25 02:55:44-arago@arago-desktop:~
^_^ cat /var/log/Xorg.0.log|wgetpaste
Your paste can be seen here: http://paste.pocoo.org/show/241409/

ап

ап

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".