|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Oleg Drokin 2:5020/400 21 Feb 2003 11:05:51 To : Alexandr Goncharov Subject : Re: Swap -------------------------------------------------------------------------------- Hello! Alexandr Goncharov <agv@tomsknet.ru> wrote: AG> Подозреваю, что логика несколько иная. AG> Представим систему, одновременно (попеременно, на самом деле) исполняющую AG> два процесса. AG> Каждый из них вместе со своими данными хочет (и, допустим, система ему AG> позволяет) забрать все оперативную память. И свопом при работе не AG> пользуется. AG> Hо вот наступает момент, когда система переключается между процессами. AG> Активный на данный момент процесс надо свалить в своп (т.к. свободной AG> памяти-то нет для загрузки нового), а неактивный - поднять из свопа и AG> активизировать. Да, примерно так раньше это и работало. (ну в смысле совсем давно) Hо уже довольно давно стали использоваться механизмы пейджинга вместо своппинга. А свопфайлами пейджфайлы называют по привычке. Hа самом деле попадают туда не процессы целиком, а лишь некоторые их странички. AG> Видно, что может существовать момент, когда оба процесса лежат в свопе. AG> А каждый из них, по условию, равен размеру доступной оперативной памяти. AG> Этого можно избежать есть обмен делать мелкими порциями, но есть же DMA и AG> блочные операции, которые ускоряют процесс. Реально, поскольку ни один из проццессов не может сразу работать со всеми своими страницами, мы имеем ситуацию когда наиболе используемые части обоих процессов находятся в RAM, а все остальное - в свопе либо на другом backing store (если это SHARED мапинги в файлы, например). AG> В реальной жизни вряд ли найдутся такие процессы, но и выполняется AG> одновременно намного больше двух процессов. ;) AG> А обмен между диском и памятью быстрее вести большими блоками в DMA. Угу. Для этого в Linux даже есть такое понятие как SWAPCLUSTER. AG> Все вышеизложенное - не более, чем imho. Из размышлений на тему - откуда AG> взялась эта рекомендация. Hа самом деле я незнаю откуда растут такие рекомендации для старых систем. В случае с Linux kernel 2.4.x, где x < 9 , рекомендация выросла из того, что странички из свопфайла, которые туда попали, не выкидывались когда надо (возможно даже после смерти процесса). И как-то там так получалось что пол свопа (в случае с swapsize = 2xRAM size) уходило на отображение текущего RAM (ну то есть не так жестко, но в случаях с большой memory нагрузкой примерно так и было). Более подробныз деталей я за давностью лет уже не помню. Bye, Oleg --- ifmail v.2.15dev5 * Origin: Green's home news server (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/15550aecf2888.html, оценка из 5, голосов 10
|