X и потребление памяти [РЕШЕНО]

Уже не первый раз на разных сайтах/форумах наталкиваюсь на вывод команд ps, top, или скриншоты с conky, из которых видно, что потребление памяти процессом X в пределах 15-20МБ - реальность. Т.к. часто видел подобное в slackware, решил попробовать LiveCD основанный на нем - Slax. После запуска X потребляет ~11МБ (с kde 3.5 после запуска занято всего ~75МБ), после непродолжительной работы потребление памяти иксами не увеличилось.
У меня в среднем X потребляет ~60МБ.
Сперва я подумал, что такая разница из-за загружаемых с X расширений, шрифтов и т.д. Но оказалось, что в Slax загружается модулей не меньше, чем у меня в gentoo (разве что версия X - 1.4.2). Затем я поискал в сети руководства по установке xorg в slackware в расчете не то, что найду там ответы на свои вопросы. Но, как оказалось ничего особенного, никаких патчей и т.д. - все сорцы берутся ванильные, с www.x.org.

Так и не получив ответов, решил обратится к сообществу.
Каким образом можно снизить потребление памяти xorg, в частности в gentoo gnu/linux??

Так же было бы интересно узнать, заметно ли отличается аппетит иксов у других пользователей gentoo.

update:
По совету taaroa заменил драйвер видеокарты с nvidia-drivers на nuoveao, а так же собрал xorg с CFLAGS="Os" вместо CFLAGS="O2", после чего потребление памяти процессом xorg уменьшилось приблизительно в 4 раза (было ~40-60, стало ~10-15).
Благодарю всех, кто откликнулся и, в частности, taaroa, за помощь.

Добавлю то, что в данный

Добавлю то, что в данный момент я использую xorg-server-1.7.6, собранный с флагами USE="kdrive nptl sdl xorg -debug -dmx -hal -ipv6 -minimal -tslib"

USE="kdrive nptl sdl xorg

 USE="kdrive nptl sdl xorg 

мдя, бывает же

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 ;)

Если вас не затруднит

Если вас не затруднит, прокомментируйте пожалуйста.

Не многовато серверов

Не многовато серверов собрано? (-:Е

Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.

.

Вроде бы не так уж и много. Флаг kdrive добавил, когда читал о xvesa, tinyX и т.д., но так и не разобрался как это все запускать. Все доки и упоминания о данных вещах весьма старые. Плюс ко всему kdrive на сабж не влияет.

slepnoga написал(а):

slepnoga написал(а):
 USE="kdrive nptl sdl xorg 

мдя, бывает же

у меня почти такой же набор флагов .

nptl - Enable support for Native POSIX Threads Library, the new threading module (requires linux-2.6 or better usually)
sdl - Adds support for Simple Direct Layer (media library)
hal - Enable Hardware Abstraction Layer (HAL) support

Только нет kdrive. Но мне тоже интересно где тут проблема?

X ы на 2 экрана

1680х1050. 1280х1024 общее потребление (в гном) 400Мб, с tvtime .. с emerge-world 720мб, в дум3 до 700Мб. рендер в blender до 5-6Гб.
мой вывод top - для процесса X : virt 132m res45m, ядро только обновил и переставил world, swap нет, - оперативки 8Г

cyberdimk

у меня 1 монитор 1024x768,

у меня 1 монитор 1024x768, xfce.
общее потребление ~170m без браузера, ~300m и более с браузером.
Вывод top - virt 98036 res 51m. но я иксы перезапускал 8 часов назад (согласно тому же top). а обычно res 60-70m

:-( доступ поменялся из-за

:-( доступ поменялся из-за комента на предыдущий пост, gnome-base/gnome-2.28.2, dev-haskell/x11-1.4.6.1 . просто 2 рабочих стола (separate X screen) - 250-300Мб
rc-update show

  acpid |      default                  
           alsasound | boot                          
            bootmisc | boot                          
             checkfs | boot                          
           checkroot | boot                          
               clock | boot                          
         consolefont | boot                          
              cpudyn |      default                  
                dbus |      default                  
                hald |      default                  
            hostname | boot                          
             keymaps | boot                          
          lm_sensors |      default                  
               local |      default nonetwork        
          localmount | boot                          
             modules | boot                          
            net.eth0 |      default                  
              net.lo | boot                          
            netmount |      default                  
           rmnologin | boot                          
             sensord |      default                  
           syslog-ng |      default                  
      udev-postmount |      default                  
             urandom | boot                          
          vixie-cron |      default                  
                 xdm |      default 

cyberdimk

Сегодня немного поэкспериментировал

Сегодня немного поэкспериментировал, отключал в xorg.conf модули dbe, record, dri, dri2 (последние два, вроде бы с видеодрайвером nvidia и так не используются), запускал xorg с драйвером vesa вместо nvidia, также выставил глубину цвета в 16, вместо 24. На потреблении памяти это не сказалось, т.е. как было 40-60мб, так и осталось. В гугле по этой теме (уменьшение потребления памяти xorg) до сих пор ничего путного не нашел (разве что выставить глубину цвета в 16 и отключить модуль dbe).

/

tell me how you calculate the consumption of memory?

# top -b -n 1  | sed -n '7p;/X/p'
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                              
18262 root      20   0  126m  20m 7344 S    0  0.7   6:45.62 X
# eix -I xorg-server|grep Inst
     Installed versions:  1.8.1.902{tbz2}(22:23:17 13.07.2010)(kdrive nptl udev xorg -dmx -doc -hal -ipv6 -minimal -static-libs -tslib)

p.s. driver - nouveau

I look at memory consumption

I look at memory consumption in the top.

$ top -b -n 1  | sed -n '7p;/X/p'
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND            
14440 root       1   0 67852  40m  11m S    2  4.0   0:34.49 X
$ eix -I xorg-server | grep Inst
Installed versions:  1.7.6{tbz2}(10:02:45 15.07.2010)(nptl xorg -debug -dmx -hal -ipv6 -kdrive -minimal -sdl -tslib)

driver - nvidia

Хватит уже тут по-английски

Хватит уже тут по-английски писать.

Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.

/

zz написал(а):
driver - nvidia

ok
see link
xorg-server-1.7.6 & nvidia-drivers

p.s. see also CFLAGS, -Os Optimize for size

taaroa написал(а): zz

taaroa написал(а):
zz написал(а):
driver - nvidia

ok
see link
xorg-server-1.7.6 & nvidia-drivers

p.s. see also CFLAGS, -Os Optimize for size

а че на том сайте по русски пишешь!?!?

.

пересобрал мир с CFLAGS="-march=athlon64 -Os -pipe -fomit-frame-pointer" (раньше оптимизация была O2)
уменьшения потребления памяти не заметил.

собираюсь еще попробовать в ближайшее время nouveau

CFLAGS="-Os"

после пересборки мира с CFLAGS="-Os" я делал

telinit 1
telinit 3

что бы перезапустились службы. уменьшения потребления памяти после этого не заметил.
Но, когда пересобирал ядро (включал поддержку nuoveao), перезагружался и, после перезагрузки, система начала потреблять на ~20мб памяти меньше, чем раньше.

nouveau

пробовал nouveau. Работает нормально, глюков и артефактов не заметил, потребление памяти xrog заметно снизилось: при старте X - ~10мб, после получаса работы ~13мб. Но в nouveau сейчас отсутствует возможность регулирования скорости вентилятора. Собственно из-за этого и откатился на nvidia-drivers. Буду использовать nouveau, когда он научится менять fan speed, или если сменю кулер на видеокарте, т.к. референсный на 100% мощности слишком шумный.
Думаю, ответ на главный вопрос топик получен, тему можно закрывать.

olegon@oops ~ $ top -b -n 1

olegon@oops ~ $ top -b -n 1  | sed -n '7p;/X/p'
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+ COMMAND                                                                                                                                                                           
 5043 root      20   0  124m  25m 4532 S    0  0.7  42:56.22 X        

Installed versions:  1.7.6(09:46:38 PM 05/26/2010)(ipv6 nptl sdl xorg -debug -dmx -hal -kdrive -minimal -tslib)

два монитора, nvidia

Комментирую - LDFLAGS в

Комментирую - LDFLAGS в студию

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 ;)

/

slepnoga написал(а):
LDFLAGS в студию

+ LDFLAGS="-Wl,--as-needed"

(;

.

у меня в make.conf переменная LDFLAGS не была задана, emerge --info выдает следующее:

LDFLAGS="-Wl,-O1"

Уже почитал "Safe LDFLAGS" на gentoo-wiki и вот это. Сейчас попробую задать LDFLAGS="-Wl,--as-needed" и пересоберу пару пакетов, что бы протестировать. Но, насколько я понял, LDFLAGS="-Wl,--as-needed" может ускорить загрузку приложений, но не уменьшить потребление памяти.

.

добавил в make.conf

LDFLAGS="-Wl,--as-needed"

и пересобрал мир. субъективно, на глаз, ничего не изменилось

Ответы

zz написал(а):
Так и не получив ответов, решил обратится к сообществу.
Каким образом можно снизить потребление памяти xorg, в частности в gentoo gnu/linux??

Мне похоже помогла смена драйвера с nvidia на nouveau (карточка GeForce 9400GT, также в процессе перехода пришлось перейти с 2.6.34-tuxonice на 2.6.35-rc5, поскольку на 2.6.34-tuxonice CONFIG_DRM_NOUVEAU (с kms и без) эффективно вырубала нафиг монитор чуть позже запуска init (при этом весело и очень быстро засерая syslog матом вида

[drm] nouveau 0000:01:00.0: PFIFO_INTR 0x00000010 - Ch 1

)) - наибольшее замеченое за час uptime потребление памяти - 30 метров (щас 25, после загрузки было 17.5, разрешение 1920x1080), с драйвером nvidia xorg весело отжирал 250 метров памяти и начинал тормозить. Система - Gentoo amd64+KDE4.4.5. Пакеты:

x11-base/xorg-server-1.8.1.902 (hal ipv6 nptl udev xorg)
media-libs/mesa-7.8.2 (gallium nptl video_cards_nouveau xcb)
x11-drivers/xf86-video-nouveau-0.0.16_pre20100615

Недостатки - система пока падает от любого плевка в сторону OpenGL (а жаль, красивости с бэкендом Xrender весьма неслабо тормозят), иногда немного артефачит отрисовка границ окон (появляется эдакая пушистость), стабильно артефачит отрисовка миниатюр значков в плазмоиде просмотр папки (при наведении на картинку уже ничего не артефачит).

На нетбуке - 25 метров (uptime 6 минут, Intel GMA945, 1024x600 xorg 1.7.6, mesa 7.7, xf86-video-intel 2.9.1, 2.6.33.2, ОС - Gentoo x86), на компе родителей - 14.4 метра (uptime 7 минут, Intel 82G33/G31, 1024x768, ОС - довольно свежая копия моей (с минимальной адаптацией под другое железо, xorg 1.8.0, mesa 7.7, xf86-video-intel 2.12.0, 2.6.34-tuxonice)), на старом компе с Debian 5 Lenny x86 - 17 метров после загрузки (Radeon 9000, 1920x1080, lxde, xorg 1.7.3, mesa 7.0, xf86-video-radeon 1.6.9, 2.6.26.2).

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

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