[win] отключить swap

state7401281

читал, что рекомендуется размер виндового свопа выставлять от 1 до 3 объемов реальной памяти.
в настоящий момент в компьютере 12Gb памяти и пиковая загрузка (по данным task manager -> performance) не превышает 8Gb.
правильно ли я пониманимаю, что это значит, что своп не используется?
или может так быть, что винда свопится даже при наличии свободной памяти?
что произойдёт (win2k3 x64 serv) если отключить своп и пополной засрать память?

juliuzz

в настоящий момент в компьютере 12Gb памяти и пиковая загрузка (по данным task manager -> performance) не превышает 8Gb.
:shocked: :shocked: :shocked:
в xp я отключал своп уже при 2 гигах оперативы
сейчас в 7-ке отключил когда нарастил до 4

dickofan

где-то была любопытная статья про то, что механизмы свопа в винде работают всегда, даже при отключенном свопе, и могут тормозить не хуже, чем обращение к свопу
*интересно, в 7ке это тоже справедливо?
хр при нехатке памяти и отключенном свопе как правило сохраняет работоспособность в рамках уже загруженных приложений; если они требуют дополнительных данных - начинается глючево, при этом неочевидные ошибки можно профукать, т.к. могут перестать генерится какие-либо предупреждения и сообщения; если засравшее память приложение перестанет отвечать, а таскменеджер не запущен, то скорее всего придется давить резет; и вообще может отсутствовать реакция на какие-либо команды, что забавно - сервер как бы и висит, но как бы и работает
*почему-то думается, что при засере свопа дб примерно та же фигня, так что дело в количестве

logan00108

Чочо, будут выдаваться сообщения о нехватке виртуальной памяти.

Filan

Без какого-то логичного обоснования, просто по личному опыту полное отключение свопа приводит к глюкам мастдая уже после недели работы без перезагрузки. После второй недели совсем туго. XP SP2/3 2Gb. Причём если не трогать машинку и ничего на ней не делать, то живёт гораздо дольше. А если постоянно запускать разные приложения - браузеры, офисы, среды разработки и т.д. и т.п., то живёт не больше 2х недель, а дальше надо перегружаться. Включение свопа помогает жить вплоть до 1-2 месяцев.
Ещё где-то в интернетах читал, что мастдай всегда считает, что у него есть своп и все алгоритмы работы с виртуальной памятью завязаны на это. А т.к.свопа в действительности нет, то где-то внутрях постоянно возникают и обрабатываются ошибки о невозможности свопиться, даже если реального свопинга не произошло бы по какой-то другой причине. Поэтому я всегда оставлю хоть немного свопа - 256-512-1024Mb при 2-4Gb памяти.

state7401281

> где-то была любопытная статья про то, что механизмы свопа в винде работают всегда,
> даже при отключенном свопе, и могут тормозить не хуже, чем обращение к свопу
во, я именно об этом и задумался, хочется как-нибудь по настоящему отключить своп

state7401281

с помощью какой тулзы можно понять количество обращений к свопу?
page faults в task manager'е - это оно?

oliver11

Не оно.

state7401281

это разве не количество exception'ов возникших при not-present?

oliver11

Page faults возникают не только при необходимости загрузки страницы из свопа.

logan00108

Интересно, кто-нибудь найдет подтверждение этим мифам и легендам о венде?
Конкретно твой случай с вендой ХП мог быть вызван утечками памяти в какой-нить милой сторонней проге.

Vitya


читал, что рекомендуется размер виндового свопа выставлять от 1 до 3 объемов реальной памяти.
правильно ли я пониманимаю, что это значит, что своп не используется?
или может так быть, что винда свопится даже при наличии свободной памяти?
что произойдёт (win2k3 x64 serv) если отключить своп и пополной засрать память?
своп не стоит отключать: все ненужные маложрущие процессы винда сливает в своп, а при его отсутствии - грузит память. если у тебя нетподдержки исправления ошибок памяти памятью и мамкой, то отсутствие свопа даже с 12 гб к хорошему не приведет.
По сути, отключая своп ты ускоришь только всякие маловостребованные процессы и повысишь вероятность проблем.

oliver11

своп не стоит отключать: все ненужные маложрущие процессы винда сливает в своп, а при его отсутствии - грузит память.
Зачем их в своп, когда памяти и так дофига? Чтобы их оттуда полчаса доставать, когда они проснутся?

lincovva

Зачем их в своп, когда памяти и так дофига? Чтобы их оттуда полчаса доставать, когда они проснутся?
Если они просыпаются раз в полгода - наверно смысл есть.

oliver11

Какой?

fufa58

у меня на работе комп с XP SP2 и двумя гигами оперативки (и без свопа) год назад нормально провел с четырехмесячным аптаймом - ну не люблю я его перезагружать :) и использовался весьма активно - так что работает в принципе нормально

Dasar

на xp имеет смысл отключать своп, т.к. там агрессивно в своп сбрасываются программы.
как пример - при любом минимайзе окна - программа почти полностью в своп уходит
на window 7 - своп отключать смысла не имеет, т.к. в своп уходит что-то совсем редкое.
на win2k3 - по идее, стратегия такая же как в xp.

dgaf

>если у тебя нетподдержки исправления ошибок памяти памятью и мамкой, то отсутствие свопа даже с 12 гб к хорошему не приведет.
Какая связь между ECC и свопом, и к чему нехорошему это (отсутствие свопа) может привести?

lincovva

Какой?
Какая связь между ECC и свопом, и к чему нехорошему это (отсутствие свопа) может привести?
При хранении в памяти есть сравнительно высокая вероятность возникновения ошибки (ессно предполагаем, что нет ЕСС - коррекции ошибок). При хранении тех же данных на исправном винте она гораздо ниже.

juliuzz

ошибки файловой системы встречаются гораздо чаще нежели ошибки памяти

dgaf

Для современных SATA дисков Unrecoverable Error Rate заявляется производителем как 1 блок (512bit) на 10^14 bit - грубо 10^-12 error/bit
Для памяти без коррекции ошибок вероятность ошибок по данным исследования 10^-11 error/bit*h.
Конечно, их нельзя напрямую сравнивать, поскольку память портится постоянно, а данные на дисках только при записи\чтении.
Есть ли тут "гораздо ниже" ?
Ссылки:
http://blogs.netapp.com/msenviro/2009/08/raid-5-reliability-...
http://www.cs.toronto.edu/~bianca/papers/sigmetrics09.pdf
Ну и да, выкинув память программ в своп ты веришь что эта память в твоей ОС останется незадействованной дисковым кешэм?
О каком уменьшени вероятности ошибок тут может идти речь?

Filan

Единичные случаи и у меня бывали - это не показатель. Но тенденция прослеживается - наличие свопа в XP положительно сказывается на необходимости частых перезагрузок.

Filan

Интересно, кто-нибудь найдет подтверждение этим мифам и легендам о венде?

Видел статейку. Искать её ломает. Возможно автор статьи и прав - по крайней мере личный опыт согласуется с выводом статьи.
Но сейчас меня это уже мало волнует - второй год и дома и на работе десктопы на FreeBSD.
Конкретно твой случай с вендой ХП мог быть вызван утечками памяти в какой-нить милой сторонней проге.

Больше всего на появление глюков влияло количество запущенных/закрытых окошек IE6. Чем больше страничек пролистал, тем больше вероятность появления глюков. Другое ПО не было замечено в подобном. При этом закрытие всех IE не спасало. В "нормальных" системах утекшая память освобождается полностью при закрытии приложения, как и все прочие занятые приложением ресурсы. Судя по твоим словам и личному опыту в XP это не так.

yroslavasako

(win2k3 x64 serv)
вплоть до win2k3 включая винда так и не научилась нормально работать со свопом. Более поздние версии винды я не знаю, поскольку отказался от апгрейда по многим причинам, связанным с ухудшением user expirience у новых версий.
Что касается xp и win2k3, они отличаются редкостной глупостью стратегии использования свопа. Почему-то в своп попадают самые нужные данные (причём они каким-то чудом там оказываются даже когда оперативки хватает с избытком). Проблему усугубляет замечательный IO шедулер, который настроен так, что данные из свопа вытаскиваются неприоритетно, в результате чего при значительной дисковой активности процесс вытаскивания из свопа затягивается надолго (видимо, не получив быстро данные из свопа венда решает вовсе их оттуда не вынимать, пока винт не освободится).
Сам я заметил полутократное увеличение скорости ответа системы при отключение свопа, которое совершил на win2k3 при достижении одного гига оперативы. По большому счёту своп бесполезен, поскольку если программа не помещается в оперативку, то своп добавит настолько значительные тормоза, что от использования такой программы стоит отказаться. Если же производители программы учитывают возможность истощения ресурса оперативной памяти, то они реализуют свой "своп", при управлении котором учитывают внутреннее строение этой программы. Так, например, работает(тал) фотошоп.
Если на все запущенные приложения не хватает памяти - закрой ненужное. Если ненужного нет - значит твоих ресурсов недостаточно для реализации данного use case и стоит поискать другой способ достижения поставленной цели, воодушевившись тем, что в советское время курсы ракет рассчитывались на компьютере, существенно слабее современных телефонов.
Нормальная операционная мультизадачная система должна обеспечивать комфортное распределение ресурсов между задачами с тем, чтобы одна задача не могла создать трудности всей системе. Следовательно, необходимы механизмы резервации памяти и процессорного времени для отдельных приложений либо групп приложений. Так, например, необходима возможность зарезервировать ресурсы для работы таск менеджера, чтобы в любом случае операционная система оставалась управляемой. Это важнее, чем возможность использовать сторонней программой крохи ресурсов, необходимых для гарантированного отклика системы управления задачами. Если человек ждёт пока распакуется архив, он может подождать на 2% времени больше, зато будет уверен, что если процесс распаковки заглючит, то он всегда сможет его снять через таск менеджер. В винде, что со свопом, что без, такое возможно не всегда. И я не верю, что когда-либо в ней что-то изменится, поскольку быстро внедрять новые технологии майкрософт умеет только на уровне рисования интерфейсов.

state7401281

хорошо трёшь.
вопрос на да/нет, всем:
- если у тебя памяти 12Gb, Commit Charge Peak 8Gb ты бы отключил своп?

oliver11

На w2k3 - да.

dangerr

Ну раз уж ко всем... нет, я бы изменил swapiness на что-то в стиле "если уж совсем припрёт".

yroslavasako

- если у тебя памяти 12Gb, Commit Charge Peak 8Gb ты бы отключил своп?
на win2k3 - да

Dimon89

Я своп отключаю в винде сразу после установки. Ни в XP, ни в 2k3, ни в 7-ке проблем замечено не было. Включал его с тех пор всего пару раз из-за одной игрушки, которая отказывалась запускаться без свопа. Аптаймы систем доходили до нескольких месяцев и прерывались в основном перезагрузками по требованию WU. Увеличение производительности замечал только на XP\2k3, у 7-ки своп имхо работе не мешает.
PS Оперативы 2-4 гига.

state7401281

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

state7401281

всем откликнувшимся спасибо

dangerr

Ну "как-нибудь само" от "заданный размер" отличается только тем сколько диского пространства под своп выделяется, а не тем, при какой заполненности оперативы начинать использовать своп. Это в винде, как я понял, вообще регулировать нельзя.
Справедливости ради, стандартное юниксовое выделение под своп отдельного раздела означает, что регулировать размер свопа можно только переразбивкой диска (впрочем, я слышал, что в файле своп тоже можно делать).

state7401281

кстати, "положить своп на ram-drive" - это анекдот или возможно?

dgaf

>Справедливости ради, стандартное юниксовое выделение под своп отдельного раздела означает, что регулировать размер свопа можно только переразбивкой диска
Преимуществ больше - не фрагментируется, не учавствует ФС. Ну и можно выбрать более быструю область диска.
Про LVM слышал?
>(впрочем, я слышал, что в файле своп тоже можно делать)
И не только. Есть патчи, чтобы размещать его на NFS сервере, например.

dangerr

Преимуществ больше - не фрагментируется, не учавствует ФС. Ну и можно выбрать более быструю область диска.
Безусловно. Именно поэтому я возможностью размещения свопа в файле не интересовался больше чем "можно".
Про LVM слышал?
Слышал, но после слов "дополнительный уровень абстракции" всякий интерес к объекту полностью пропал. :)

juliuzz

Если человек ждёт пока распакуется архив, он может подождать на 2% времени больше, зато будет уверен, что если процесс распаковки заглючит, то он всегда сможет его снять через таск менеджер. В винде, что со свопом, что без, такое возможно не всегда.
да вот знаешь в линупсе побороть затянувшийся tar xzf тоже не всегда возможно эффективно :crazy:

yroslavasako

да вот знаешь в линупсе побороть затянувшийся tar xzf тоже не всегда возможно эффективно :crazy:
правильно. Всё зависит от настроек. Но линукс можно настроить с резервированием, тогда и побороть можно будет. А можно не настраивать. А можно вообще сделать как в убунту, подобрав настройки управления свопом и IO шедулер таким образом, чтобы максимально имитировать все стороны жизни винды, включая тормоза. У меня на ноуте убунта (не настроенная, ибо настраивать убунту - это моветон, тогда лучше сразу ставить генту) регулярно по крону запускает mlocate и столь же регялрно зависает до полной потери чувствительности. Я подозреваю, что механизм этого процесса абсолютно идентичен виндовому. Но тут не разработчики ядра виноваты, а лишь разработчики убунты

YUAL

кстати, "положить своп на ram-drive" - это анекдот или возможно?
возможно.

BondarAndrey

Слышал, но после слов "дополнительный уровень абстракции" всякий интерес к объекту полностью пропал. :)
Зря, офигенная штука! С ним можно, во-первых, сделать разделение данных по разделам на редко изменяемые (/, /usr на часто изменяемые (/var регулярно удаляемые/добавляемые (/home) и, наконец, временные (/tmp не заботясь о числе разделов (занят будет один физ. раздел на диске). Каждому разделу можно подобрать набор опций монтирования, зашифровать и т.д. И главное — теперь можно следовать стратегии "выделять МИНИМАЛЬНО разумный объем раздела". У меня вот 100 Гб в физическом томе вообще не используется в данный момент. Понадобятся — растяну логический том и ФС без размонтирования. Нет проблем с миграцией с одного диска, на другой, копируется необходимый минимум. Короче, сплошные бенефиты и новый уровень работы с дисковым пространством.

YUAL

Мега клёвых фич то дофига, но многими ли из них ты пользуешься?

BondarAndrey

Мега клёвых фич то дофига, но многими ли из них ты пользуешься?
Всеми перечисленными пользовался: мигрирование с другого жесткого, разные опции на разделах, шифрование дом. каталога, в свободном пространстве примерно через полгода создал раздел с ext4 (все до этого было в ext3). Планировались к использованию, но реально не используется только создание снапшота домашнего раздела во время резервного копирования.

hiper-hoper

Планировались к использованию, но реально не используется только создание снапшота домашнего раздела во время резервного копирования.
у меня используется ;)
Оставить комментарий
Имя или ник:
Комментарий: