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
мдя, бывает же
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 написал(а):
у меня почти такой же набор флагов .
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
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?
p.s. driver - nouveau
I look at memory consumption
I look at memory consumption in the top.
driver - nvidia
Хватит уже тут по-английски
Хватит уже тут по-английски писать.
Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.
/
ok
see link
xorg-server-1.7.6 & nvidia-drivers
p.s. see also CFLAGS, -Os Optimize for size
taaroa написал(а): zz
а че на том сайте по русски пишешь!?!?
.
пересобрал мир с CFLAGS="-march=athlon64 -Os -pipe -fomit-frame-pointer" (раньше оптимизация была O2)
уменьшения потребления памяти не заметил.
собираюсь еще попробовать в ближайшее время nouveau
CFLAGS="-Os"
после пересборки мира с CFLAGS="-Os" я делал
что бы перезапустились службы. уменьшения потребления памяти после этого не заметил.
Но, когда пересобирал ядро (включал поддержку nuoveao), перезагружался и, после перезагрузки, система начала потреблять на ~20мб памяти меньше, чем раньше.
nouveau
пробовал nouveau. Работает нормально, глюков и артефактов не заметил, потребление памяти xrog заметно снизилось: при старте X - ~10мб, после получаса работы ~13мб. Но в nouveau сейчас отсутствует возможность регулирования скорости вентилятора. Собственно из-за этого и откатился на nvidia-drivers. Буду использовать nouveau, когда он научится менять fan speed, или если сменю кулер на видеокарте, т.к. референсный на 100% мощности слишком шумный.
Думаю, ответ на главный вопрос топик получен, тему можно закрывать.
olegon@oops ~ $ top -b -n 1
два монитора, nvidia
http://olegon.ru
Комментирую - 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 ;)
/
+ LDFLAGS="-Wl,--as-needed"
(;
.
у меня в make.conf переменная LDFLAGS не была задана, emerge --info выдает следующее:
Уже почитал "Safe LDFLAGS" на gentoo-wiki и вот это. Сейчас попробую задать LDFLAGS="-Wl,--as-needed" и пересоберу пару пакетов, что бы протестировать. Но, насколько я понял, LDFLAGS="-Wl,--as-needed" может ускорить загрузку приложений, но не уменьшить потребление памяти.
.
добавил в make.conf
и пересобрал мир. субъективно, на глаз, ничего не изменилось
Ответы
Мне похоже помогла смена драйвера с nvidia на nouveau (карточка GeForce 9400GT, также в процессе перехода пришлось перейти с 2.6.34-tuxonice на 2.6.35-rc5, поскольку на 2.6.34-tuxonice CONFIG_DRM_NOUVEAU (с kms и без) эффективно вырубала нафиг монитор чуть позже запуска init (при этом весело и очень быстро засерая syslog матом вида
)) - наибольшее замеченое за час uptime потребление памяти - 30 метров (щас 25, после загрузки было 17.5, разрешение 1920x1080), с драйвером nvidia xorg весело отжирал 250 метров памяти и начинал тормозить. Система - Gentoo amd64+KDE4.4.5. Пакеты:
Недостатки - система пока падает от любого плевка в сторону 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).