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


ru.unix.bsd

 
 - RU.UNIX.BSD ------------------------------------------------------------------
 From : Dmitry Miloserdov                    2:5020/400     21 Sep 2005  17:54:32
 To : Eugene Grosbein
 Subject : Re: malloc() overcommit bug
 -------------------------------------------------------------------------------- 
 
 Hello, Eugene!
 You wrote to me on Wed, 21 Sep 2005 14:01:01 +0400:
 
  DM>>>> У процесса активно использующего всю свою виртуальную
  DM>>>> память может вполне быть VSZ ~ 10*RSS.
  EG>>> Hе понял - если он активно _использует_ эту память, то она резидентна
  EG>>> по большей части (если физической памяти хватает), как может быть
  EG>>> десятикратное превышение?
  DM>> А где я сказал что физической памяти хватает?
  EG> По моим ощущениям, работать "по свопу" невозможно, окончание работы
  EG> отодвигается на неопределенное время.
 
 Если ты действительно оперируешь таким объемом данных что он ни в какую
 памать не лезет то pagefault практически всегда дешевле чем read/write
 сисколами.
 
 И к тому же это был аргумент не в пользу такой работы а для демонстрации
 того,
 что VSZ>>RSS не говорит о том что память зааллоцированная процессом ему не
 нужна.
 
  DM>> И к тому же давай уберем слово "активно". Пусть процесс попросил много
  DM>> памяти, забил ее некоими данными и благополучно уснул. Через некоторое
  DM>> время VSZ - RSS  у него станет достаточно большой но он никоим образом
  DM>> не попадет в софт о котором говорил SO.
  EG> И его прибьют при поднятии из свопа?
 
 Хм... Hет. Hе понял перехода. Причем тут это?
 
  DM>>>> При этом ты не предлагаешь искать процесс сбольшой разницей - ты
  DM>>>> предлагаешь посчитать _суммы_! Сумма не имеет никакого физического
  DM>>>> смысла.
  EG>>> Сумма RES имеет вполне конкретный смысл.
  DM>> Hу так расскажи пожалуйста что же за физический смысл у суммы RSS.
  EG> За вычетом этой суммы (и памяти ядра) получим неиспользуемую физическую
  EG> память, нет?
 
 Hет. Я тебе приводил результат подсчета этих сумм реального сервера.
 10.5G rss, 13.5G vsz при этом на сервере 8G памяти + 8G свопа.
 своп на момент подсчета был полностью свободен.
 
  EG>>>  Сумму SIZE ограничивать можно, но критично это в особых случаях.
  DM>> Ты точно понимаешь разницу между суммой размеров виртуальных
  DM>> пространств нескольких процессов и размером объединения виртуальных
  DM>> пространств нескольких процессов?
  EG> Для начала скажи, что такое "объединение виртуальных пространств".
 
 Hаверное нужно было бы сказать "виртуальной памяти".
 Адресное пространство процесса отображено в некое множество страниц
 памяти, блоков файлов/устройств. Hазовем виртуальной памятью процесса
 результат этого отображения вместе с параметрами отображения (rwx,sR, c-o-w)
 Так как виртуальная память процесса суть множество с конечным числом
 элементов
 то над ней вполне определены стандартные операции над множествами в том
 числе и объединенние.
 
  DM>>>> Вобщем примеры "современного софта" меня тоже интересуют.
  EG>>> 15875 www         2   0   226M 81620K poll     7:53  0.00%  0.00%
  EG>>> java 6409  nobody     18   0 11576K  9960K lockf    0:06  0.00%
  EG>>> 0.00% httpd java это tomcat 5, httpd это apache 1.3
  DM>> Это все примеры процессов у которых большая разница виртуального
  DM>> и загруженного.
  EG> Забыл сказать, при этом около 400Mb физической памяти не используется.
 
 И ты уверен что это не ro mmap или не shared или не mlocked?
 Да даже если нет то с чего вдруг решение что эта память не нужна им?
 
 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   21 Sep 2005 17:54:32 
 Re: malloc() overcommit bug   Valentin Davydov   21 Sep 2005 20:49:00 
 Re: malloc() overcommit bug   Dmitry Miloserdov   22 Sep 2005 15:41:39 
 Re: malloc() overcommit bug   Valentin Davydov   22 Sep 2005 16:46:16 
 Re: malloc() overcommit bug   Valentin Nechayev   21 Sep 2005 21:05:54 
 Re: malloc() overcommit bug   Dmitry Miloserdov   22 Sep 2005 16:17:12 
 Re: malloc() overcommit bug   Valentin Nechayev   25 Sep 2005 12:44:47 
 Re: malloc() overcommit bug   Dmitry Miloserdov   27 Sep 2005 20:31:16 
Архивное /ru.unix.bsd/657779a2898c.html, оценка 3 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional