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


ru.unix.bsd

 
 - RU.UNIX.BSD ------------------------------------------------------------------
 From : Dmitry Miloserdov                    2:5020/400     14 Sep 2005  19:14:59
 To : Vitaly E. Lavrov
 Subject : Re: malloc() overcommit bug
 -------------------------------------------------------------------------------- 
 
 Hello, Vitaly!
 You wrote to Vadim Goncharov on 14 Sep 2005 13:16:02 GMT:
 
  ??>> Мне тут сказали, что во фре всех версий и линуксе с ядрами версий
  ??>> менее 2.6 есть дефект VM: при попытке использования
  ??>> выделенной malloc()/calloc() памяти приложение может быть убито по
  ??>> segfault, хотя malloc() вернул не NULL. Hа винде, солярке, HPUX такой
  ??>> проблемы, как говорят, нет. Hа ядрах 2.6 и выше линукса это можно
  ??>> отключить установкой /proc/sys/vm/overcommit_memory в 2.
  VEL> a что делать VM после кода
  VEL> p=malloc(много); много+много > больше доступной памяти, а много <
  VEL> больше доступной памяти
  VEL> bzero(p);
  VEL> fork();
  VEL> bzero(p);
 
 fork() должен выдать ENOMEM если в "доступной памятью" своп включен.
 
 А во фре malloc возвращает NULL только при превышении лимитов.
 И процессы умирали по KILL а не SEGV [причем умирают необязательно memory
 hog ;)]
 
 With best regards, Dmitry Miloserdov.  E-mail: dmitry@bis.ru
 
 --- ifmail v.2.15dev5.3
  * Origin: Demos online service (2:5020/400)
 
 

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

 Тема:    Автор:    Дата:  
 Re: malloc() overcommit bug   Dmitry Miloserdov   14 Sep 2005 19:14:59 
 Re: malloc() overcommit bug   Dmitry Miloserdov   14 Sep 2005 19:20:34 
Архивное /ru.unix.bsd/6577242f9b9c.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional