Главная страница


ru.unix.bsd

 
 - RU.UNIX.BSD ------------------------------------------------------------------
 From : Slawa Olhovchenkov                   2:5030/500     15 Sep 2005  20:05:16
 To : Vadim Goncharov
 Subject : malloc() overcommit bug
 -------------------------------------------------------------------------------- 
 
 
 15 Sep 05, Vadim Goncharov writes to Slawa Olhovchenkov:
 
  VG>>>>>>> Прочитал, да. Hо воз и ныне там. И все-таки я не понял, почему
  VG>>>>>>> так сложно сделать хотя бы уменьшение вероятности возникновения
  VG>>>>>>> такой ситации (пусть даже по типу как в линуксе), надо-то чтобы
  VG>>>>>>> malloc() всего лишь вернул NULL, если столько свободной памяти
  VG>>>>>>> нет?
  SO>>>>>> Потому что память может исчезнуть в процессе.
  VG>>>>> Подкрутить счетчик отданной процессам памяти, и не отдавать, если
  VG>>>>> просит больше, чем осталось.
  SO>>>> Ты кажется не слушал объяснений.
  VG>>> Мы кажется говорим (и объяснения были) о несколько разных вещах.
  SO>> Hет. Память-то общая.
  VG> Ты не выпендривайся, ты пальцем покажи (с)
 
 Пишем програмку алоцирующую мегабайт памяти.
 Пускаем ее на машине с полугигом оперативки и без свопа.
 Програма в свой мегабайт пишет единицы.
 
 Все зашибись, да?
 
 Теперь програма делает 1000 fork().
 Это законно, поскольку дальше она может сделать exec() на что-то совсем совсем
 маленькое или вообще быстро завершиться.
 Более того, мы не можем ничего запустить паралельно не сделав перед этим fork().
 Hо вместо этого каждая копия начинает писать случайные данные в свой мегабайт.
 В некоторый момент механизм copy-on-write обломается и копии начнут слетать с
 SEGFAULT.
 
 ... Hикогда не пытайтесь повторить удачный эксперимент
 --- GoldED+/BSD 1.1.5
  * Origin:  (2:5030/500)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: malloc() overcommit bug   Valentin Nechayev   15 Sep 2005 01:52:13 
 Re: malloc() overcommit bug   Vadim Goncharov   15 Sep 2005 15:09:25 
 malloc() overcommit bug   Slawa Olhovchenkov   15 Sep 2005 15:16:06 
 Re: malloc() overcommit bug   Vadim Goncharov   15 Sep 2005 18:34:33 
 malloc() overcommit bug   Slawa Olhovchenkov   15 Sep 2005 18:50:18 
 Re: malloc() overcommit bug   Vadim Goncharov   15 Sep 2005 19:16:04 
 malloc() overcommit bug   Slawa Olhovchenkov   15 Sep 2005 19:41:30 
 Re: malloc() overcommit bug   Vadim Goncharov   15 Sep 2005 19:59:12 
 malloc() overcommit bug   Slawa Olhovchenkov   15 Sep 2005 20:05:16 
 Re: malloc() overcommit bug   Dmitry Miloserdov   15 Sep 2005 20:43:47 
 malloc() overcommit bug   Slawa Olhovchenkov   15 Sep 2005 20:49:26 
 Re: malloc() overcommit bug   Dmitry Miloserdov   15 Sep 2005 21:32:16 
 malloc() overcommit bug   Slawa Olhovchenkov   15 Sep 2005 22:13:00 
 Re: malloc() overcommit bug   Igor Sysoev   16 Sep 2005 15:59:23 
 Re: malloc() overcommit bug   Vadim Goncharov   15 Sep 2005 20:54:24 
 Re: malloc() overcommit bug   Dmitry Miloserdov   15 Sep 2005 21:54:00 
 Re: malloc() overcommit bug   Igor Sysoev   16 Sep 2005 15:57:52 
 Re: malloc() overcommit bug   Dmitry Miloserdov   16 Sep 2005 16:55:03 
 Re: malloc() overcommit bug   Igor Sysoev   16 Sep 2005 19:58:29 
 Re: malloc() overcommit bug   Vadim Goncharov   16 Sep 2005 18:14:30 
 Re: malloc() overcommit bug   Vadim Goncharov   15 Sep 2005 20:49:21 
 malloc() overcommit bug   Slawa Olhovchenkov   15 Sep 2005 20:54:20 
 Re: malloc() overcommit bug   Eugene Grosbein   16 Sep 2005 00:26:13 
 malloc() overcommit bug   Max Khon   16 Sep 2005 17:53:04 
 Re: malloc() overcommit bug   Vadim Goncharov   16 Sep 2005 18:20:39 
Архивное /ru.unix.bsd/222143299d16.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional