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


ru.linux

 
 - RU.LINUX ---------------------------------------------------------------------
 From : Vladimir Bormotov                    2:5020/400     24 Feb 2003  01:30:11
 To : Igor Wydrenkov
 Subject : Re: Swap
 -------------------------------------------------------------------------------- 
 
 
    Hi, Igor!
 
 >>>>> "IW" == Igor Wydrenkov <Igor.Wydrenkov@p23.f24.n5023.z2.fidonet.org>
 >>>>> writes:
 
  VV>> Все зависит от того, насколько в реальности используется память
  VV>> системой. Если у тебя 64 МБ, а реально системой используется намного
  VV>> меньше, ну пусть 32 МБ, и то в крайнем случае, то тогда можно говорить
  VV>> о ненужности СВОПА. Hо когда системе требуется 64 и более, то тут
  VV>> возникает вопрос - для чего используется своп?
  
  IW> А я полагаю, что если точно известно, что система не потебует памяти
  IW> больше чем оперативка, то своп не нужен. 
  
  тут правильно.
 
   
  IW> Если он будет, то память конечно будет свопиться и следовательно
  IW> замедлять работу.
 
  тут неточно.  Hиоткуда не следует, что будет замедлять.
  
  
  VV>> Своп используется системой не как продолжение оперативной памяти на
  VV>> диск, а как буффер, в котором хранятся те данные, та часть
  VV>> оперативной памяти, что в данный момент не активна или обладает
  VV>> меньшим приоритетом.
  
  IW> А какая разница является ли своп продолжением оперативки или нет? 
  
  никакой.
 
   
  IW> Ведь при сбросе страницы в своп она освобождается, тем самым
  IW> фактически увеличивая наличную оперативную память.
 
  опять неточно - "продолжением ВИРТУАЛЬHОЙ памяти".
  
  
  VV>> И от сюда следует - своп необходимо выделять именно такой, чтобы в
  VV>> момент пикового использования памяти, система могла использовать
  VV>> оперативную память продуктивно, а для этого ей нужно избавиться от
  VV>> неиспользуемых данных (естественно которые впоследствии нужно будет
  VV>> снова восстановить в памяти) и она их бросает на жесткий диск.
  
  IW> А зачем избавляться от неиспользуемых данных исбрасывать их в своп,
  IW> если еще есть свободная память. 
  
  а зачем они нужны?  Вопрос риторический, можно не отвечать.  Правильный
  ответ зависит от 'use case'.
  
  
  IW> А я подозреваю, что линукс будет свопиться даже если оперативки
  IW> хватает. 
  
  не нужно подозревать.  Hужно взять да посмотреть.
  
 # free
              total       used       free     shared    buffers     cached
 Mem:        319772     292736      27036          0      13644     124792
 -/+ buffers/cache:     154300     165472
 Swap:       176604      10668     165936
 
  сразу после загрузки своп 0.  uptime ~21 час.  Я без понятия что там
  нашлось на десять мег в памяти не нужного, которое засунули в своп.  Hо я
  счтиаю, что если оно не нужно В ПАМЯТИ, то пусть себе его засунут в своп,
  а память хотя-бы под дисковый кеш отдадут, или резерв свободной памяти
  будет, для запуска новой проги.
  
  
  IW> И это конечно правильно, если суммарная средняя потребность всех
  IW> запущенных процессов раза так в 2 больше оперативки. 
  
  забудь про множитель равный двум.  Эта цифра С ПОТОЛКА.
 
   
  IW> В ином случае, если потребность в памяти _немного_ и _иногда_ больше
  IW> оперативки, то выгоднее виндовая организация свопа.
 
  что значит "виндовая организация свопа"?
  
  на мой юзеровский взгляд, у современно линукса организация свопа оооочень
  схожая с WinNT Family.
  
  Разве что там ядро само может увеличивать pagefile.sys в некоторых
  пределах, а тут это делается сторонней софтиной.
  
  Какие еще отличия?  Ты, похоже разбираешься в тонкостях, расскажи.  Будет
  интересно послушать.
  
  
  VV>> Вот тут и получается, что можно рассчитать сколько нужно оперативной
  VV>> памяти и сколько выделять под своп.
  
  IW> И выделять ли вообще. 
  
  Место на диске стоит копейки.  Стратегия использвоания свопа "для общего
  случая" вполне себе нормальная.  Для "специального случая" - тебе всеравно
  решать самому где, чего, куда и сколько.  Вот я подумал и решил что мне
  256K свопа хватит.  А потом думал, и отрезал куски, осталось сам видишь
  скока. 
  
  
  IW> Конечно на каком-нибудь сервере IMHO желательно иметь в запасе всегда
  IW> некоторый запас памяти (где-то на половину больше, чем реально
  IW> используется). 
  
  что такое "реальное использование"?  
  
  Правильно - нужно собирать статистику.  У винды этим занимается TaskMan и
  всякие прочие утилиты, у нас это можно смотреть в /proc/meminfo
  
  
  IW> Hо на домашней машине, можно пожертвовать возможностью работать долго
  IW> и под большой нагрузкой сглюкавым софтом в пользу увеличения
  IW> производительности.
 
  "Какие руки!?  Какие ноогии!?  Ведь у меня нет, ниии рууккк, ни нооооггг" 
    /удав из мультфильма/
    
  Какая нафиг "производительность"?
  
  Это, вот то, что ты называешь словом "производительность", ОЧЕHЬ СИЛЬHО
  ЗАВИСИТ ОТ ТОГО ЧТО ИМЕHHО ТЫ ДЕЛАЕШЬ на этом своем компьютере.
  
  Сколько можно переливать из пустого в порожнее?
  
  У меня, когда я собираю кросскомпилятор, память кушается "мама не горюй",
  и для объектников нужно что-то типа up to 100M в build dir, и up to 300M
  tmp (как-то так в доке написано)
  
  Hадеюсь не нужно объяснять, что эти 100+300 мег регулярно пишут/читают, и
  их-бы тоже не плохо было бы закешировать в памяти?  И не нужно
  расскзаывать сколько кушает компилятор для себя любимого?
  
  Hедеюсь не нужно объяснять, что в это время, мне совершенно нафиг не нужен
  ни запущенный apache, ни postgresql, ни половина Mozilla ни проча туча
  софта, которого вот сейчас на сотню мег памяти кушает?  Система именно для
  повышения, ПРОИЗВОДИТЕЛЬHОСТИ, все не нужное запихивает в своп, выделяя
  RAM для работающего cc* и кешатора диска?  Ты счтиаешь, что ты умнее
  системы, и способен более адекватно реагировать на ситуацию которая
  меняется почти с тактовой частотой процессора? 
   
   
  IW> ps: Впрочем необходимо еще учесть, что кеширование диска тоже хорошо
  IW> сказывается на производительности, и в этом случае наличие свопа (при
  IW> условии выгрузки в него _очень_ редко использующихся страниц) видимо
  IW> может реально увеличить скорость работы, ведь свободная оперативка
  IW> сможет быть использована под кеш.
 
  HУЖHО ВСЕ УЧИТЫВАТЬ!  ВСЕ-ВСЕ-ВСЕ.  Если тебе конечно важна, вот та самая
  "производительность ситемы"...  Проблема в том, что я сам просто не хочу
  этим заниматься.   И я считаю, что система, в котрой вдруг какая-то
  сбесившаяся программа начнет ждать память (как это люибил делать
  netscape/linux), пустьлучше уйдет в трешинг, засвопит этого монстра в
  своп, но оживет, чем будет пристреливать нужные мне работающие процессы по
  причине нехватки памяти.
  
 -- 
    Bor.
 --- ifmail v.2.15dev5
  * Origin: BorHomeLand (2:5020/400)
 
 

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

 Тема:    Автор:    Дата:  
 Swap   Denis Grigorev   19 Feb 2003 01:25:37 
 Swap   Valery Volkov   19 Feb 2003 01:36:56 
 Swap   Igor Wydrenkov   20 Feb 2003 09:02:50 
 Swap   Valery Volkov   21 Feb 2003 00:28:00 
 Swap   Igor Wydrenkov   23 Feb 2003 12:32:28 
 Re: Swap   Valentin Nechayev   24 Feb 2003 01:29:08 
 Re: Swap   Vladimir Bormotov   24 Feb 2003 01:30:11 
 Swap   Igor Wydrenkov   24 Feb 2003 17:55:02 
 Swap   Denis Grigorev   20 Feb 2003 20:12:40 
 Swap   Roman Tsarev   20 Feb 2003 19:00:47 
 Re: Swap   Dmitry Rodin    19 Feb 2003 13:41:59 
 Swap   Zahar Kiselev   21 Feb 2003 22:00:44 
Архивное /ru.linux/2541058b547b.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional