ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] q: glibc malloc s*cks?
@ 2007-01-15 13:59 Michael Shigorin
  2007-01-15 14:13 ` Dmitry V. Levin
  2007-01-15 19:19 ` Денис Смирнов
  0 siblings, 2 replies; 13+ messages in thread
From: Michael Shigorin @ 2007-01-15 13:59 UTC (permalink / raw)
  To: devel

	Здравствуйте.
Тут нашлось неожиданное применение недавно пробегавшему
http://mr.himki.net/index-alloc.html: в процессе раскапывания
проблемы с время-от-времени замерзающими терминалами под LTSP
(PIII/64M/ATI, diskless) было замечено, что причиной является
распухающий Xorg, которого надувает при хождении по страничкам
с картинками (менее -- с Flash) Firefox.

Примерные цифры RSS Xorg (сборки LTSP4.2u4) при использовании
в качестве среды firefox-1.0.8 из ALC3.0:

* загружен dm -- ~10M
* загружен firefox -- чуть больше 10M
* пяток табов, один с историей до десятка страниц (новостной
  сайт, куча картинок) -- 20--25M
* закрыли браузер -- ~15M

При этом надувается процесс достаточно уверенно и односторонне,
до ~45--50M или когда там начинает заканчиваться память -- за
несколько часов добраться более чем возможно.  Свопа нет и
подключить его запросто не получилось (будто бы в LTSP'шном
ядре не хватает CONFIG_NFS_DIRECTIO -- огребаем при
swapon /своп/файлик/на/nfs: "swapfile has holes").

Пришла мысль попробовать запустить firefox под другим
аллокатором, хотя предполагалось, что запускать надо Xorg
(на терминале, т.е. ещё собирать в схожем с LTSP окружении).

Попробовали.  Оказалось, что помогает __Xorg__ и довольно
радикально -- пока по наблюдениям sinister@ выходит, что:

- в среднем с тем же firefox и теми же страничками Xorg
  потребляет меньше памяти;
- при закрытии таба с историей в firefox на TS
  Xorg на терминале также "сдувается" в некоторой мере;
- при закрытии firefox RSS Xorg возвращается к значению
  до запуска браузера, а не как минимум на несколько Мб большему.

Странно, но факт.

Не будучи в курсе того, как именно выделяется/распределяется
память (и какое происходит взаимодействие с Xorg, а также 
какого тот замерзает, а не пытается высвободить закэшированные
пиксмапы, при нехватке памяти) -- сказали sr@, который кратко
охарактеризовал glibc malloc как "deprecated, поскольку brk()
был объявлен таким ещё около 2.0.29".

Отсюда вопросы.

1) кому ещё интересно тестирование такого malloc()
   -- мож его опакетить для удобства?
2) кому может быть интересно развитие в упоминаемом
   направлении -- с использованием mmap()?
3) интересно ли это команде в дистрибутивном плане?
4) каковы шансы переубедить libc-alpha@ в том, что 
   текущая реализация является рабочей, а не сломанной?

-- 
 ---- WBR, Michael Shigorin <mike@altlinux.ru>
  ------ Linux.Kiev http://www.linux.kiev.ua/


^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2007-01-16 17:46 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-01-15 13:59 [devel] q: glibc malloc s*cks? Michael Shigorin
2007-01-15 14:13 ` Dmitry V. Levin
2007-01-15 18:01   ` Michael Shigorin
2007-01-15 21:33   ` sr
2007-01-15 22:37     ` Michael Shigorin
2007-01-15 23:18       ` sr
2007-01-16  1:26         ` Dmitry V. Levin
2007-01-16  9:35           ` Michael Shigorin
2007-01-16 17:46           ` [devel] [JT] " Денис Смирнов
2007-01-15 23:19     ` [devel] q: " Dmitry V. Levin
2007-01-15 19:19 ` Денис Смирнов
2007-01-15 21:38   ` sr
2007-01-15 22:22     ` Konstantin A. Lepikhov

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git