Почему Windows столь по-дурацки работает со свопом/памятью
От: IvanZezyulya Россия https://zoid.cc
Дата: 27.10.06 02:26
Оценка: -3
Не знаю, в правильный ли раздел я попал — если что, модераторы, перенесите

Собственно, сабж — ?

Вот например, в данный момент у меня свободно 269 мегабайт оперативной памяти, а свопа используется 217MB. Так какого хрена в данный момент не поместить бы этот своп из фрагментированного файла на жестком диске в ОЗУ?

Неужели за всё время существования архитектуры NT (как-никак, с 1989 года — 17 лет уже) никто не упрекал разработчиков по этому поводу?

Собственно, я это заметил после перехода на Линукс — там другая стратегия работы: до тех пор, пока физическая память не кончится, своп категорически не будет использоваться Этот параметр можно даже динамически настраивать во время работы (кажется, называется swappiness).

05.03.08 14:04: Перенесено модератором из 'Философия программирования' — AndrewVK
Re: Почему Windows столь по-дурацки работает со свопом/памят
От: SnowBlast Казахстан  
Дата: 27.10.06 02:38
Оценка:
Здравствуйте, IvanZezyulya, Вы писали:

IZ>Не знаю, в правильный ли раздел я попал — если что, модераторы, перенесите


IZ>Собственно, сабж — ?


IZ>Вот например, в данный момент у меня свободно 269 мегабайт оперативной памяти, а свопа используется 217MB. Так какого хрена в данный момент не поместить бы этот своп из фрагментированного файла на жестком диске в ОЗУ?


IZ>Неужели за всё время существования архитектуры NT (как-никак, с 1989 года — 17 лет уже) никто не упрекал разработчиков по этому поводу?


IZ>Собственно, я это заметил после перехода на Линукс — там другая стратегия работы: до тех пор, пока физическая память не кончится, своп категорически не будет использоваться Этот параметр можно даже динамически настраивать во время работы (кажется, называется swappiness).

/use Tweak XP
в "тонких" настройках виндов есть опция "не использовать своп пока есть свободная оперативка"
Как улитка с параличем мчится мысль неудержимо, центр речи возбуждая
Re[2]: Почему Windows столь по-дурацки работает со свопом/па
От: IvanZezyulya Россия https://zoid.cc
Дата: 27.10.06 03:50
Оценка:
Здравствуйте, SnowBlast, Вы писали:

SB>/use Tweak XP

SB>в "тонких" настройках виндов есть опция "не использовать своп пока есть свободная оперативка"

Эээ... где? Покажите, пожайлуста, конкретно, где эта опция. Я не нашёл Tweak XP 1.60.
Re: Почему Windows столь по-дурацки работает со свопом/памят
От: Cyberax Марс  
Дата: 27.10.06 07:52
Оценка: +1 -1
IvanZezyulya wrote:
> Вот например, в данный момент у меня свободно 269 мегабайт оперативной
> памяти, а свопа используется 217MB. Так какого хрена /в данный момент/
> не поместить бы этот своп из фрагментированного файла на жестком диске в
> ОЗУ?
А зачем? Память обычно более эффективно расходовать для кэша диска, так
что фоновые приложения будут работать быстрее.

> Собственно, я это заметил после перехода на Линукс — там другая

> стратегия работы: до тех пор, пока физическая память не кончится, своп
> категорически не будет использоваться Этот параметр можно даже
> динамически настраивать во время работы (кажется, называется /swappiness/).
В Линуксе точно такая же политика работы, он сбрасывает неиспользуемые
страницы в своп, чтобы освободить место для кэша диска. По крайней мере
в 2.4 так было, в 2.6 пока не проверял.
Posted via RSDN NNTP Server 2.0
Sapienti sat!
Re[3]: Почему Windows столь по-дурацки работает со свопом/па
От: SnowBlast Казахстан  
Дата: 27.10.06 08:38
Оценка:
Здравствуйте, IvanZezyulya, Вы писали:

IZ>Эээ... где? Покажите, пожайлуста, конкретно, где эта опция. Я не нашёл Tweak XP 1.60.


Черт, давно ей не пользовался, сейчас проверил в двух версиях, не нашел и похоже просто перепутал с фичей "Core system perfomance".
Как улитка с параличем мчится мысль неудержимо, центр речи возбуждая
Re: Почему Windows столь по-дурацки работает со свопом/памят
От: xvost Германия http://www.jetbrains.com/company/people/Pasynkov_Eugene.html
Дата: 27.10.06 11:34
Оценка:
Здравствуйте, IvanZezyulya, Вы писали:

IZ>Вот например, в данный момент у меня свободно 269 мегабайт оперативной памяти, а свопа используется 217MB. Так какого хрена в данный момент не поместить бы этот своп из фрагментированного файла на жестком диске в ОЗУ?


Резерв свободной памяти надо держать всегда, ибо она может "вдруг" понадобиться foreground приложению.
С уважением, Евгений
JetBrains, Inc. "Develop with pleasure!"
Re[2]: Почему Windows столь по-дурацки работает со свопом/па
От: Cyberax Марс  
Дата: 27.10.06 12:20
Оценка: +3
xvost wrote:
> IZ>Вот например, в данный момент у меня свободно 269 мегабайт
> оперативной памяти, а свопа используется 217MB. Так какого хрена /в
> данный момент/ не поместить бы этот своп из фрагментированного файла на
> жестком диске в ОЗУ?
> Резерв свободной памяти надо держать всегда, ибо она может "вдруг"
> понадобиться foreground приложению.
Ни в коем случае. Свободная память = растраченая память.

Память должна использоваться по максимуму для кэширования диска. Если
приложению вдруг понадобится больше памяти — то страницы памяти просто
изымаются из кэша.
Posted via RSDN NNTP Server 2.0
Sapienti sat!
Re: Почему Windows столь по-дурацки работает со свопом/памят
От: iZEN СССР  
Дата: 27.10.06 14:34
Оценка:
Здравствуйте, IvanZezyulya, Вы писали:

IZ>Не знаю, в правильный ли раздел я попал — если что, модераторы, перенесите


IZ>Собственно, сабж — ?


IZ>Вот например, в данный момент у меня свободно 269 мегабайт оперативной памяти, а свопа используется 217MB. Так какого хрена в данный момент не поместить бы этот своп из фрагментированного файла на жестком диске в ОЗУ?


IZ>Неужели за всё время существования архитектуры NT (как-никак, с 1989 года — 17 лет уже) никто не упрекал разработчиков по этому поводу?


IZ>Собственно, я это заметил после перехода на Линукс — там другая стратегия работы: до тех пор, пока физическая память не кончится, своп категорически не будет использоваться Этот параметр можно даже динамически настраивать во время работы (кажется, называется swappiness).


У меня в Linux и FreeBSD использовано SWAP — 0% при 60-80% использовании ОЗУ.

Очевидно, дисковый кэш организуется в ОЗУ. Так при копировании CD-ROM на винчестер во FreeBSD потребление оперативной памяти резко возросло от 70МБ до 800МБ.
Re[2]: Почему Windows столь по-дурацки работает со свопом/па
От: Petrovich_Alex  
Дата: 27.10.06 17:50
Оценка:
ZEN>Очевидно, дисковый кэш организуется в ОЗУ. Так при копировании CD-ROM на винчестер во FreeBSD потребление оперативной памяти резко возросло от 70МБ до 800МБ.

потому как копируешь стандартными утилитами.

и в линуксе и в freebsd и в винде есть способы при открытии файла указать буферизовывать/кешировать или нет, но стандартные утилиты всегда копируют с буферизаций/кешированием по умолчанию...
... << RSDN@Home 1.1.4 stable rev. 510>>
Re[3]: Почему Windows столь по-дурацки работает со свопом/па
От: iZEN СССР  
Дата: 27.10.06 18:08
Оценка:
Здравствуйте, Petrovich_Alex, Вы писали:

ZEN>>Очевидно, дисковый кэш организуется в ОЗУ. Так при копировании CD-ROM на винчестер во FreeBSD потребление оперативной памяти резко возросло от 70МБ до 800МБ.


P_A>потому как копируешь стандартными утилитами.

Через Nautilus.
Re[2]: Почему Windows столь по-дурацки работает со свопом/па
От: VladD2 Российская Империя www.nemerle.org
Дата: 28.10.06 08:51
Оценка: -1
Здравствуйте, SnowBlast, Вы писали:

SB>в "тонких" настройках виндов есть опция "не использовать своп пока есть свободная оперативка"


Если мне не изменяет память, то для этого достаточно задать размер своп-фйлов в 0.

Но это ничего не дает. Пока пмяти у Виндовс достаточно в своп они ничего не кладет. А когда ее недостаточно, то отказ от своп-файлов приведет к невозможности работы. Только и всего.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: Почему Windows столь по-дурацки работает со свопом/па
От: VladD2 Российская Империя www.nemerle.org
Дата: 28.10.06 08:51
Оценка:
Здравствуйте, SnowBlast, Вы писали:

SB>Черт, давно ей не пользовался, сейчас проверил в двух версиях, не нашел и похоже просто перепутал с фичей "Core system perfomance".


Была такая раньше. Но смысла в ней нет.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re: Почему Windows столь по-дурацки работает со свопом/памят
От: Pro100Oleh Украина  
Дата: 29.10.06 09:38
Оценка: 7 (4)
Здравствуйте, IvanZezyulya, Вы писали:

IZ>Не знаю, в правильный ли раздел я попал — если что, модераторы, перенесите


IZ>Собственно, сабж — ?


IZ>Вот например, в данный момент у меня свободно 269 мегабайт оперативной памяти, а свопа используется 217MB. Так какого хрена в данный момент не поместить бы этот своп из фрагментированного файла на жестком диске в ОЗУ?


IZ>Неужели за всё время существования архитектуры NT (как-никак, с 1989 года — 17 лет уже) никто не упрекал разработчиков по этому поводу?


IZ>Собственно, я это заметил после перехода на Линукс — там другая стратегия работы: до тех пор, пока физическая память не кончится, своп категорически не будет использоваться Этот параметр можно даже динамически настраивать во время работы (кажется, называется swappiness).


Не надо считать Microsoft дураками. Да, у них бывают конечно баги и недоработки (как и у всех , но над свопом я думаю они хорошо поработали.
А насчет памяти — если у тебя свопа 217 метров, это не означает, что винда из ОЗУ так просто эту память вырезала и поместила в своп. Винда постоянно мониторит память в оперативе, и если видит что какой-то кусок мало используется, то она его КОПИРУЕТ в своп, причем если комуто нужна эта память, то она никуда не девается. А если нужно вдруг кому-то большой кусок памяти, то винда первый кусок просто затирает из оперативы — это происходит быстро, так как копировать в своп уже не надо. Более точное описание — это уже тонкости, надеюсь основная идея ясна.
Pro
Re[2]: Почему Windows столь по-дурацки работает со свопом/па
От: CiViLiS Россия  
Дата: 29.10.06 11:02
Оценка: +5 -1
Здравствуйте, Pro100Oleh, Вы писали:

PO>Не надо считать Microsoft дураками. Да, у них бывают конечно баги и недоработки (как и у всех , но над свопом я думаю они хорошо поработали.

PO>А насчет памяти — если у тебя свопа 217 метров, это не означает, что винда из ОЗУ так просто эту память вырезала и поместила в своп. Винда постоянно мониторит память в оперативе, и если видит что какой-то кусок мало используется, то она его КОПИРУЕТ в своп, причем если комуто нужна эта память, то она никуда не девается. А если нужно вдруг кому-то большой кусок памяти, то винда первый кусок просто затирает из оперативы — это происходит быстро, так как копировать в своп уже не надо. Более точное описание — это уже тонкости, надеюсь основная идея ясна.
Я думаю проблема в не реализации, а в отсутствии возможности менять стратегию свопа и кеширования диска. Виндовая реализация больше смахивает под "однозадачность", ибо "кухарки" редко запускают несколько приложений одновременно.

Например, я работаю в студии, параллельно копирую по самбе фильм. Если я захочу в этот момент посмотреть пдфку, то есть переключиться на акробат, то процесс переключения может занять и минуту -- ибо винда все багроундные приложения вытолкнула в своп, а всю доступную память отдала под файловый кеш. Вот спрашивается нафига в этом случае кешировать файл? Скорость закачки не привышает 5 мб/с, что заведомо ниже скорости винта (у нас хоть и лажовые винты ставять, но 20мб/с они дают).
Примерно тажа фигня при поиске файлов в фара. Если делаю поиск по содержимому -- то сразу иду чай пить, ибо в этот момент даже форум почитать тяжело -- переход между сообщениями в Янусе может до 5 секунд занимать.
В противовес могу сказать, что у нас есть парочка старых санов (ультра кажется), которые по всем параметрам хуже моего рабочего компа. Так вот, ни при поиске, ни при закачке файлов заметных тормозов не возникает, хотя на серваке сижу не я один. Кивать в сторону SCSI не стоит -- там стоят IDEшники.
... << RSDN@Home 1.2.0 alpha rev. 655>>
"Бог не терпит голой сингулярности" -- Роджер Пенроуз
Re: Почему Windows столь по-дурацки работает со свопом/памят
От: GlebZ Россия  
Дата: 29.10.06 12:15
Оценка: 1 (1)
Здравствуйте, IvanZezyulya, Вы писали:

IZ>Неужели за всё время существования архитектуры NT (как-никак, с 1989 года — 17 лет уже) никто не упрекал разработчиков по этому поводу?

Нет Если тебя прикалывает, то можешь просто отключить своп. А вообще, в действительности windows резервирует память в swap не выделяя оной в оперативке. Такая память вообще может быть не задействована в дальнейшем, но если будет не хватать дисковой памяти, то система не потеряет работоспособность. То есть выделение свопа совсем не обозначает дисковых операций.
... << RSDN@Home 1.2.0 alpha rev. 0>>
Re[3]: Почему Windows столь по-дурацки работает со свопом/па
От: GlebZ Россия  
Дата: 29.10.06 12:22
Оценка:
Здравствуйте, CiViLiS, Вы писали:

CVL>Я думаю проблема в не реализации, а в отсутствии возможности менять стратегию свопа и кеширования диска. Виндовая реализация больше смахивает под "однозадачность", ибо "кухарки" редко запускают несколько приложений одновременно.

Если у тебя XP — то безусловно. Оно и сделано для кухарок. С серверами хоть какой-то, но выбор есть.

CVL>Например, я работаю в студии, параллельно копирую по самбе фильм. Если я захочу в этот момент посмотреть пдфку, то есть переключиться на акробат, то процесс переключения может занять и минуту -- ибо винда все багроундные приложения вытолкнула в своп, а всю доступную память отдала под файловый кеш.

Ага. Ставь себе серверную OS. А под клиентов это сделано правильно. Foreground должно работать эффективно и ему отдается больше ресурсов. Это есть идеология(которая вполне правильная).
CVL>Вот спрашивается нафига в этом случае кешировать файл? Скорость закачки не привышает 5 мб/с, что заведомо ниже скорости винта (у нас хоть и лажовые винты ставять, но 20мб/с они дают).
А это вопрос не к виндам. Это вопрос к производителям промеж. ПО. Винды сами ни фига не знают зачем используется память. А вот возможность указать кэшировать или нет — есть.
CVL>Примерно тажа фигня при поиске файлов в фара. Если делаю поиск по содержимому -- то сразу иду чай пить, ибо в этот момент даже форум почитать тяжело -- переход между сообщениями в Янусе может до 5 секунд занимать.
Зато второй запуск проходит практически мгновенно. Unix тоже на таком поиске тормозит.
CVL>В противовес могу сказать, что у нас есть парочка старых санов (ультра кажется), которые по всем параметрам хуже моего рабочего компа. Так вот, ни при поиске, ни при закачке файлов заметных тормозов не возникает, хотя на серваке сижу не я один. Кивать в сторону SCSI не стоит -- там стоят IDEшники.
Это серверные решения. Они и построены в расчете на масштабируемость. Так что не стоит их сравнивать.
... << RSDN@Home 1.2.0 alpha rev. 0>>
Re[4]: Почему Windows столь по-дурацки работает со свопом/па
От: CiViLiS Россия  
Дата: 29.10.06 13:23
Оценка:
Здравствуйте, GlebZ, Вы писали:

CVL>>Я думаю проблема в не реализации, а в отсутствии возможности менять стратегию свопа и кеширования диска. Виндовая реализация больше смахивает под "однозадачность", ибо "кухарки" редко запускают несколько приложений одновременно.

GZ>Если у тебя XP — то безусловно. Оно и сделано для кухарок. С серверами хоть какой-то, но выбор есть.
Но я то не кухарка.. Мне иногда хочется поменять глобальную стратегию в зависимости от того чем я занимаюсь. Не ставить же серверную ос на каждый комп -- денег не хватит, а если учесть, что большинство не хочет платить за кухарочную версию, то серверную точно будут покупать единицы.

CVL>>Например, я работаю в студии, параллельно копирую по самбе фильм. Если я захочу в этот момент посмотреть пдфку, то есть переключиться на акробат, то процесс переключения может занять и минуту -- ибо винда все багроундные приложения вытолкнула в своп, а всю доступную память отдала под файловый кеш.

GZ>Ага. Ставь себе серверную OS. А под клиентов это сделано правильно. Foreground должно работать эффективно и ему отдается больше ресурсов. Это есть идеология(которая вполне правильная).
По мне, так активное приложение должно иметь, чуть больший приоритет, чем фоновое с таким же приоритетом.

CVL>>Вот спрашивается нафига в этом случае кешировать файл? Скорость закачки не привышает 5 мб/с, что заведомо ниже скорости винта (у нас хоть и лажовые винты ставять, но 20мб/с они дают).

GZ>А это вопрос не к виндам. Это вопрос к производителям промеж. ПО. Винды сами ни фига не знают зачем используется память. А вот возможность указать кэшировать или нет — есть.
А можно сссылку? -- я не спец по винапи и про эту возможность не знал. И судя по всему про эту фичи не знаю разработчики торентов и тому подобных программ. Во всяком случае тех программ которые я пользовал.

CVL>>Примерно тажа фигня при поиске файлов в фара. Если делаю поиск по содержимому -- то сразу иду чай пить, ибо в этот момент даже форум почитать тяжело -- переход между сообщениями в Янусе может до 5 секунд занимать.

GZ>Зато второй запуск проходит практически мгновенно.
Быстрее если искался файл по маске. А если по содержимому, то нифига не быстрее -- на большые массивы никакой оперативы не хватит. А поиск по маленьким массивам -- работу других тасков не афектит.

GZ>Unix тоже на таком поиске тормозит.

В линуксе кеширование дирректорий тоже есть-- и на практике проверенно, да и на форуме ссылки пробегали.

CVL>>В противовес могу сказать, что у нас есть парочка старых санов (ультра кажется), которые по всем параметрам хуже моего рабочего компа. Так вот, ни при поиске, ни при закачке файлов заметных тормозов не возникает, хотя на серваке сижу не я один. Кивать в сторону SCSI не стоит -- там стоят IDEшники.

GZ>Это серверные решения. Они и построены в расчете на масштабируемость. Так что не стоит их сравнивать.
Вот и приходиться ставить Линух, который можно настроить под себя даже в хоум едишен.
... << RSDN@Home 1.2.0 alpha rev. 655>>
"Бог не терпит голой сингулярности" -- Роджер Пенроуз
Re[5]: Почему Windows столь по-дурацки работает со свопом/па
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 29.10.06 14:31
Оценка: +2
Здравствуйте, CiViLiS, Вы писали:

CVL>Но я то не кухарка.. Мне иногда хочется поменять глобальную стратегию в зависимости от того чем я занимаюсь.


My Computer -> Properties -> Advanced -> Performance -> Settings -> Advanced -> Memory usage

А под "кухарками" понимается тот, кто не хочет/не может заниматься подкручиванием ОС вместо основной работы.

CVL>По мне, так активное приложение должно иметь, чуть больший приоритет, чем фоновое с таким же приоритетом.


Так и есть, если processor usage установлен в Program.

CVL>А можно сссылку? -- я не спец по винапи и про эту возможность не знал.


MSDN — CreateFile. Смотреть флажки.
... << RSDN@Home 1.2.0 alpha rev. 646 on Windows XP 5.1.2600.131072>>
AVK Blog
Re[5]: Почему Windows столь по-дурацки работает со свопом/па
От: GlebZ Россия  
Дата: 29.10.06 15:05
Оценка:
Здравствуйте, CiViLiS, Вы писали:

CVL>Но я то не кухарка.. Мне иногда хочется поменять глобальную стратегию в зависимости от того чем я занимаюсь. Не ставить же серверную ос на каждый комп -- денег не хватит, а если учесть, что большинство не хочет платить за кухарочную версию, то серверную точно будут покупать единицы.

А серверная и не нужна. 95 процентов времени ты проводишь с приложением которое находится в foreground'e которое работает эффективно. Переплачивать только за то, чтобы в оставшиеся 5 процентов не возникало тормозов?

GZ>>Ага. Ставь себе серверную OS. А под клиентов это сделано правильно. Foreground должно работать эффективно и ему отдается больше ресурсов. Это есть идеология(которая вполне правильная).

CVL>По мне, так активное приложение должно иметь, чуть больший приоритет, чем фоновое с таким же приоритетом.
Оно и имеет. И ресурсы процессора, и ресурсы памяти. Просто пока этих ресурсов достаточно, это не так заметно. Как только ресурсов начинает нехватать, вся эта кухня вылезает наверх в геометрической прогресии. Но IMHO это правильно в клиентских машинах, что ресурсы для foreground процесса отнимаются у background.

CVL>А можно сссылку? -- я не спец по винапи и про эту возможность не знал. И судя по всему про эту фичи не знаю разработчики торентов и тому подобных программ. Во всяком случае тех программ которые я пользовал.

смотри флаг FILE_FLAG_NO_BUFFERING в MSDN. А если ты под виндами пользовал базу данных, то следовательно и пользовал данную фичу. Там практически всегда своя система кэширования.

CVL>Быстрее если искался файл по маске. А если по содержимому, то нифига не быстрее -- на большые массивы никакой оперативы не хватит. А поиск по маленьким массивам -- работу других тасков не афектит.

grep — это совершенно другая песня. Она тоже в большей степени зависит от эффективности реализации верхнего ПО, а не средств самого ПО OS.

GZ>>Unix тоже на таком поиске тормозит.

CVL>В линуксе кеширование дирректорий тоже есть-- и на практике проверенно, да и на форуме ссылки пробегали.
+1 Но в униксах есть еще разные файловые системы. Иногда очень интересные.

CVL>Вот и приходиться ставить Линух, который можно настроить под себя даже в хоум едишен.

+1 Да на здоровье.
... << RSDN@Home 1.2.0 alpha rev. 0>>
Re[6]: Почему Windows столь по-дурацки работает со свопом/па
От: CiViLiS Россия  
Дата: 29.10.06 19:05
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>My Computer -> Properties -> Advanced -> Performance -> Settings -> Advanced -> Memory usage

AVK>А под "кухарками" понимается тот, кто не хочет/не может заниматься подкручиванием ОС вместо основной работы.
Когда то пытался играться с этими опциями. Заметного результата не было, правда за точность измерения не поручусть -- с секундомером не сидел и идеальных условий для тестов не созадавал.
У соседа с линухом -- никогда таких проблем не было.

CVL>>По мне, так активное приложение должно иметь, чуть больший приоритет, чем фоновое с таким же приоритетом.

AVK>Так и есть, если processor usage установлен в Program.
дык кроме процессора есть другой не менее драгоценный ресурс --- память. В результате неактивный процесс может сожрать всю память, а активный будет постоянно с диска подгружать странички.
... << RSDN@Home 1.2.0 alpha rev. 655>>
"Бог не терпит голой сингулярности" -- Роджер Пенроуз
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.