LINUX.ORG.RU
ФорумTalks

[ЖЖ][История успеха] Потребление памяти в Linux

 ,


0

1

Продожение романа http://www.linux.org.ru/forum/talks/5435058/

ядро + bash + X + KDE 4.4.5 + plasma + somebit <= 100 метров схаванной рамки.

ЧЯДНТ?

★★★★

Последнее исправление: DarkAmateur (всего исправлений: 1)
Ответ на: комментарий от different_thing

kldstat.

Я думал lsmod тоже показывает

А разве kldstat показывает всю занятую память? Я думал что он как и lsmod выдаёт только размер самих модулей, а динамический выделенную память не считает. Да и не совсем понятно как её в принципе можно корректно посчитать...

Deleted
()
Ответ на: комментарий от namezys

> Воообще Qt очень охотен для памяти.

Может анимация в буфер(а) рендерится? Так не очень понятно, ARGB32 пиксели они везде (почти) одинаковые. Хотя .... Текст, опять же (в cairo на этот предмет были изменения, читать я про них читал - а толком понять - не совсем понял.)

Andrew-R ★★★★★
()
Ответ на: комментарий от megabaks

Похоже да.

Хотя там я кажется просто run out of inodes

Andrew-R ★★★★★
()
Ответ на: комментарий от Andrew-R

Не. Оно метоинформацию хорошо юзает. И еще при активной работе со строками (особенно повторящимеся). Писали спецаильные хати для этого. Ядро mdc на старте жрало 70 метров без гуя, но с подключением к аське

Анимация - это да. Но это уже другой аспект

namezys ★★★★
()
Ответ на: комментарий от megabaks

мне абсолютно пофиг, что и сколько отбирает памяти и как все это устроено
главное, что все работает (2 гб)

note173 ★★★★★
()
Ответ на: комментарий от Deleted
> kldstat
Id Refs Address Size Name
1 7 0xffffffff80100000 9ecb60 kernel
2 1 0xffffffff80aed000 46f40 snd_uaudio.ko
3 2 0xffffffff80b34000 18d058 sound.ko
4 1 0xffffffff80cc2000 574b28 acpi.ko
5 1 0xffffffff81422000 2b97a ipfw.ko
> ^D

Process terminal finished

А в общем у меня ситуация как у этого парня:

http://leaf.dragonflybsd.org/mailarchive/kernel/2010-09/msg00016.html

different_thing
()
Ответ на: комментарий от note173

тоже 2 гига - но мне не пофиг - ибо железо для себя, а не для говно обоев!
К.О.
а ты просто неосилятор - поэтому принял как данность - мне тебя жаль

megabaks ★★★★
()
Ответ на: комментарий от different_thing

>А ты походи по форуму и почитай, что там не про Linux, а про Linux/Unix.
ЩИТО? о_О
лжец!!!111
«русская информация об ОС LINUX» <--- где здесь о юниксе и бзде?

megabaks ★★★★
()
Ответ на: комментарий от different_thing

э нееее - пока это поделие не осилит расширенные разделы, на моём компе оно не заведётся...даже от сырости(как паразит)! :3

megabaks ★★★★
()
Ответ на: комментарий от different_thing

тут просто модеры гавно - это факт!
даже тематику форума соблюсти не могут!
стыд и срам!
а про расширенные разделы - твоё поделие их не умеет!

megabaks ★★★★
()
Ответ на: комментарий от different_thing

короче - иди на со своим поделием с моего лор-а
а я баиньки - завтра на работу

megabaks ★★★★
()
Ответ на: комментарий от different_thing

упоролся?
даже дважды! о_О
фот как поставишь *бздю на расширенный раздел - тогда поговорим, а пока - пшёл вон! :3

megabaks ★★★★
()
Ответ на: комментарий от different_thing

DragonFly BSD

Хм... А в каких ещё *BSD есть kldstat? У меня под рукой есть только NetBSD и в ней нет этой утилиты.

Deleted
()
Ответ на: комментарий от megabaks

> как поставишь *бздю на расширенный раздел - тогда поговорим

Мотивируй меня

different_thing
()
Ответ на: комментарий от different_thing

>Да, а в вашем линуксе ведро монолитное, да. А у меня - гибрид.

И какой от этого реальный профит?

anon_666
()
Ответ на: комментарий от megabaks

> «русская информация об ОС LINUX» <--- где здесь о юниксе и бзде?
А где там о нацполе, религии, венде, донском, ЖЖ, телепатах, логопедах, проктологах (банально-зонтовые шуточки) ?..
А это всё тут есть!

Nao ★★★★★
()
Ответ на: комментарий от note173

>а зачем тебе железо для себя?
нет, лять, я должен отдать все ресурсы оси и сосать х** вместо погамать!?
у тебя не максимальная случаем, трололо?

megabaks ★★★★
()
Ответ на: комментарий от megabaks

easy, tiger
гента, кубунта и семерка, да)
последняя кстати ведет себя на 2 гб очень хорошо именно в плане погамать

note173 ★★★★★
()
Ответ на: комментарий от DarkAmateur

>Например, Федора с кедами жрёт от 250 метров. Всего в тачке 256 метров.
у меня андроид на ликвиде жрет 250 метров
всего в тачке 265 метров
мне кажется, гугл меня где то наебал

devnullopers
()

_http://img253.imageshack.us/img253/3121/40mbminimalx.png_

Вот картинка, меньше 40 Мб у меня начинаются проблемы с udev (но я в ядре включил PM-debug).

startx — -extension GLX -extension XFree86-DRI -extension XINERAMA

Хотя на самом деле всё это крутится поверх drm/kms (rv280). Своп конечно ужасный.

Для удава на Slackware говорят есть обходной путь:

http://www.flaterco.com/kb/8MiB.html

Andrew-R ★★★★★
()
Ответ на: комментарий от S1lver

>Мне же интересно вот что: как добиться того, чтобы кеды кушали хотя бы меньше 200мб?

Буквально пару часов назад поставил дебьяна тестинг в виртуалку на позырить, настроил под себя (задачи минимизировать расход памяти не ставил) KDE 4.4.5, памяти 180М скушано, до этого тоже с Kubuntu 10.10 проделал, расход памяти 211М, но там 4.5.1.

redgremlin ★★★★★
()
Ответ на: комментарий от Andrew-R

Ради интереса собрал ядро 2.6.36-rc8 с минимально-максимальным конфигом.

В смысле, в ядро включил
APM (корректно убирает окно QEMU по poweroff)
ACPI (из драйверов выбрал только кнопку питания)
Sound (alsa es1371)
Usb (ehci/uhci/ohci/hid/storage)
SCSI (disk)
PCI/ISA/ISA PnP/EISA/MCA
IDE (generic, piix)
Loop
VGA (80x25)
AT keyboard
PS/2 mouse
EXT4 (которая в режиме понимания ext2/3, с полным набором опций)
TCP/IP, PPP, PLIP, SLIP.
NE2000 PCI card

Поддержка модулей есть, но всё вышеперечисленное в ядре (худший случай)

И всё это с аллокатором SLOB и с UP-only RCU завелось на 8 Мб в QEMU. Оставив около 500 кб свободными.

qemu -hda /mnt/hdc6/ISO/hdd_images/rootfs-i486-gcc424-uclibc0930.ext2 -kernel ~/Linux/slax/3mb-2.6.36-acpi-usb-ext4/bzImage -m 8 -append «root=/dev/hda» -cpu 486 -usb -net nic,model=ne2k_pci -soundhw es1370 -cdrom /mnt/hdc6/ISO/deli-0.7.2.iso

Грабли: пока не включил hotplug support - не мог смонтировать /proc (?!)
Отключённая по-умолчанию поддержка bootmem allocator не позволяла загружать ядро ниже 16 Мб. Обошлось явным указанием

# CONFIG_NO_BOOTMEM is not set
....

CONFIG_PHYSICAL_START=0x100000
CONFIG_PHYSICAL_ALIGN=0x100000


System is 1762 kB (это с умолчательным gzip)


Andrew-R ★★★★★
()
Ответ на: комментарий от Andrew-R

Почти на таком конфиге сижу ;)
Кроме SLOB - с ним тормоза.

anon_666
()
Ответ на: комментарий от Andrew-R

Однако .... не ядром единым жив инсталлер. Решил поставить на поглазеть в QEMU Slackware-13.1 (именно на инсталлятор посмотреть).

И что я вижу?!

http://connie.slackware.com/~alien/slackboot/mini/

Вот этот вариант установщика требует больше 64 Мб для работы! А почему? А потому что сжатый gzip-ом initrd сначала грузится в память, потом распаковывается .... А размер его , сжатого - 16 Мб! Плюс само ядро - huge.s в лучшем случае. На фоне этого советы про «ниже пентиум-про» кажутся не очень уместными - на совсем старых машинах редко когда 64-то метра есть.

Не похоже, что «официальный» ISO инсталлятор - лучше в этом плане. Там тот же сжатый initrd.img, который в какой-то момент времени висит в памяти и в сжатом, и в расжатом состоянии, доводя ПИКОВОЕ потребление памяти до весьма неприятных цифр. Редкий случай, когда принцип KISS играет против нас. Если вот это соответствует тому, что на дисках: ftp://ftp.osuosl.org/pub/slackware/slackware-13.1/isolinux/

В принципе это дело поправимое: http://www.flaterco.com/kb/slackware.html «Slackware install optimization»

И надо попробовать на cd оставить просто cpio , не сжатый.

Andrew-R ★★★★★
()
Ответ на: комментарий от Andrew-R

Однако ....

udev-151 и udev-153 очень любят запускать параллельно кучу процессов modprobe (?) , и естественно на low ram всё прибивается.

Пробовал делать так:
(2.6.36-rc8 - zram там в staging не просто так - zramconfig в -next уже заменили на интерфейс в /sys, а в этом ядре всё ещё нужна контрольная утилита, которая погребена в недрах http://code.google.com/p/compcache/source/browse/)

echo «Activating lowmem udev workaround ...»
cp -axT --remove-destination /lib/udev/devices /dev
zramconfig /dev/zram0 --init
sleep 2
mkswap /dev/zram0
swapon /dev/zram0
echo «early zram-based swap created!»
mount -n -o mode=0755,nr_inodes=8000,size=8m -t tmpfs tmpfs $UDEV_ROOT

всё равно нестабильно, памяти при mem=32m на сжимаемый своп отдается 6 с небольшим мб, и этого явно не хватает, с учётом того что сами модули не свопятся , по определению как я понимаю. В общем наверное жёстким blacklist-ингом и чисткой ядра удастся добится стабильной загрузки на 32 Мб, но ....

Инсталлятор Слаквари-13, тот который я начал потрошить, уже на 64 Мб хочет своп .... при инсталляции пакетов на ext4. Так что там возни больше, чем я думал. Удав можно попытаться частично заменить на mdev, использовать squashfs4 ... Но пока ничего толком не получается, идеи не работают до конца.

Andrew-R ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.