[win] отключить swap
в настоящий момент в компьютере 12Gb памяти и пиковая загрузка (по данным task manager -> performance) не превышает 8Gb.
в xp я отключал своп уже при 2 гигах оперативы
сейчас в 7-ке отключил когда нарастил до 4
*интересно, в 7ке это тоже справедливо?
хр при нехатке памяти и отключенном свопе как правило сохраняет работоспособность в рамках уже загруженных приложений; если они требуют дополнительных данных - начинается глючево, при этом неочевидные ошибки можно профукать, т.к. могут перестать генерится какие-либо предупреждения и сообщения; если засравшее память приложение перестанет отвечать, а таскменеджер не запущен, то скорее всего придется давить резет; и вообще может отсутствовать реакция на какие-либо команды, что забавно - сервер как бы и висит, но как бы и работает
*почему-то думается, что при засере свопа дб примерно та же фигня, так что дело в количестве
Чочо, будут выдаваться сообщения о нехватке виртуальной памяти.
Ещё где-то в интернетах читал, что мастдай всегда считает, что у него есть своп и все алгоритмы работы с виртуальной памятью завязаны на это. А т.к.свопа в действительности нет, то где-то внутрях постоянно возникают и обрабатываются ошибки о невозможности свопиться, даже если реального свопинга не произошло бы по какой-то другой причине. Поэтому я всегда оставлю хоть немного свопа - 256-512-1024Mb при 2-4Gb памяти.
> даже при отключенном свопе, и могут тормозить не хуже, чем обращение к свопу
во, я именно об этом и задумался, хочется как-нибудь по настоящему отключить своп
page faults в task manager'е - это оно?
Не оно.
это разве не количество exception'ов возникших при not-present?
Page faults возникают не только при необходимости загрузки страницы из свопа.
Конкретно твой случай с вендой ХП мог быть вызван утечками памяти в какой-нить милой сторонней проге.
своп не стоит отключать: все ненужные маложрущие процессы винда сливает в своп, а при его отсутствии - грузит память. если у тебя нетподдержки исправления ошибок памяти памятью и мамкой, то отсутствие свопа даже с 12 гб к хорошему не приведет.
читал, что рекомендуется размер виндового свопа выставлять от 1 до 3 объемов реальной памяти.
правильно ли я пониманимаю, что это значит, что своп не используется?
или может так быть, что винда свопится даже при наличии свободной памяти?
что произойдёт (win2k3 x64 serv) если отключить своп и пополной засрать память?
По сути, отключая своп ты ускоришь только всякие маловостребованные процессы и повысишь вероятность проблем.
своп не стоит отключать: все ненужные маложрущие процессы винда сливает в своп, а при его отсутствии - грузит память.Зачем их в своп, когда памяти и так дофига? Чтобы их оттуда полчаса доставать, когда они проснутся?
Зачем их в своп, когда памяти и так дофига? Чтобы их оттуда полчаса доставать, когда они проснутся?Если они просыпаются раз в полгода - наверно смысл есть.
Какой?
у меня на работе комп с XP SP2 и двумя гигами оперативки (и без свопа) год назад нормально провел с четырехмесячным аптаймом - ну не люблю я его перезагружать и использовался весьма активно - так что работает в принципе нормально
как пример - при любом минимайзе окна - программа почти полностью в своп уходит
на window 7 - своп отключать смысла не имеет, т.к. в своп уходит что-то совсем редкое.
на win2k3 - по идее, стратегия такая же как в xp.
Какая связь между ECC и свопом, и к чему нехорошему это (отсутствие свопа) может привести?
Какой?
Какая связь между ECC и свопом, и к чему нехорошему это (отсутствие свопа) может привести?При хранении в памяти есть сравнительно высокая вероятность возникновения ошибки (ессно предполагаем, что нет ЕСС - коррекции ошибок). При хранении тех же данных на исправном винте она гораздо ниже.
ошибки файловой системы встречаются гораздо чаще нежели ошибки памяти
Для памяти без коррекции ошибок вероятность ошибок по данным исследования 10^-11 error/bit*h.
Конечно, их нельзя напрямую сравнивать, поскольку память портится постоянно, а данные на дисках только при записи\чтении.
Есть ли тут "гораздо ниже" ?
Ссылки:
http://blogs.netapp.com/msenviro/2009/08/raid-5-reliability-...
http://www.cs.toronto.edu/~bianca/papers/sigmetrics09.pdf
Ну и да, выкинув память программ в своп ты веришь что эта память в твоей ОС останется незадействованной дисковым кешэм?
О каком уменьшени вероятности ошибок тут может идти речь?
Единичные случаи и у меня бывали - это не показатель. Но тенденция прослеживается - наличие свопа в XP положительно сказывается на необходимости частых перезагрузок.
Интересно, кто-нибудь найдет подтверждение этим мифам и легендам о венде?
Видел статейку. Искать её ломает. Возможно автор статьи и прав - по крайней мере личный опыт согласуется с выводом статьи.
Но сейчас меня это уже мало волнует - второй год и дома и на работе десктопы на FreeBSD.
Конкретно твой случай с вендой ХП мог быть вызван утечками памяти в какой-нить милой сторонней проге.
Больше всего на появление глюков влияло количество запущенных/закрытых окошек IE6. Чем больше страничек пролистал, тем больше вероятность появления глюков. Другое ПО не было замечено в подобном. При этом закрытие всех IE не спасало. В "нормальных" системах утекшая память освобождается полностью при закрытии приложения, как и все прочие занятые приложением ресурсы. Судя по твоим словам и личному опыту в XP это не так.
(win2k3 x64 serv)вплоть до win2k3 включая винда так и не научилась нормально работать со свопом. Более поздние версии винды я не знаю, поскольку отказался от апгрейда по многим причинам, связанным с ухудшением user expirience у новых версий.
Что касается xp и win2k3, они отличаются редкостной глупостью стратегии использования свопа. Почему-то в своп попадают самые нужные данные (причём они каким-то чудом там оказываются даже когда оперативки хватает с избытком). Проблему усугубляет замечательный IO шедулер, который настроен так, что данные из свопа вытаскиваются неприоритетно, в результате чего при значительной дисковой активности процесс вытаскивания из свопа затягивается надолго (видимо, не получив быстро данные из свопа венда решает вовсе их оттуда не вынимать, пока винт не освободится).
Сам я заметил полутократное увеличение скорости ответа системы при отключение свопа, которое совершил на win2k3 при достижении одного гига оперативы. По большому счёту своп бесполезен, поскольку если программа не помещается в оперативку, то своп добавит настолько значительные тормоза, что от использования такой программы стоит отказаться. Если же производители программы учитывают возможность истощения ресурса оперативной памяти, то они реализуют свой "своп", при управлении котором учитывают внутреннее строение этой программы. Так, например, работает(тал) фотошоп.
Если на все запущенные приложения не хватает памяти - закрой ненужное. Если ненужного нет - значит твоих ресурсов недостаточно для реализации данного use case и стоит поискать другой способ достижения поставленной цели, воодушевившись тем, что в советское время курсы ракет рассчитывались на компьютере, существенно слабее современных телефонов.
Нормальная операционная мультизадачная система должна обеспечивать комфортное распределение ресурсов между задачами с тем, чтобы одна задача не могла создать трудности всей системе. Следовательно, необходимы механизмы резервации памяти и процессорного времени для отдельных приложений либо групп приложений. Так, например, необходима возможность зарезервировать ресурсы для работы таск менеджера, чтобы в любом случае операционная система оставалась управляемой. Это важнее, чем возможность использовать сторонней программой крохи ресурсов, необходимых для гарантированного отклика системы управления задачами. Если человек ждёт пока распакуется архив, он может подождать на 2% времени больше, зато будет уверен, что если процесс распаковки заглючит, то он всегда сможет его снять через таск менеджер. В винде, что со свопом, что без, такое возможно не всегда. И я не верю, что когда-либо в ней что-то изменится, поскольку быстро внедрять новые технологии майкрософт умеет только на уровне рисования интерфейсов.
вопрос на да/нет, всем:
- если у тебя памяти 12Gb, Commit Charge Peak 8Gb ты бы отключил своп?
На w2k3 - да.
Ну раз уж ко всем... нет, я бы изменил swapiness на что-то в стиле "если уж совсем припрёт".
- если у тебя памяти 12Gb, Commit Charge Peak 8Gb ты бы отключил своп?на win2k3 - да
PS Оперативы 2-4 гига.
если бы так можно ...
варианты только "как-нибудь само", "заданный размер", "без этого"
подозреваю, что если ограничить размер сверху небольшим числом, то время от времени будет свопиться пуще прежнего, прогоняя всю память через своп назад в память детскими порциями.
всем откликнувшимся спасибо
Справедливости ради, стандартное юниксовое выделение под своп отдельного раздела означает, что регулировать размер свопа можно только переразбивкой диска (впрочем, я слышал, что в файле своп тоже можно делать).
кстати, "положить своп на ram-drive" - это анекдот или возможно?
Преимуществ больше - не фрагментируется, не учавствует ФС. Ну и можно выбрать более быструю область диска.
Про LVM слышал?
>(впрочем, я слышал, что в файле своп тоже можно делать)
И не только. Есть патчи, чтобы размещать его на NFS сервере, например.
Преимуществ больше - не фрагментируется, не учавствует ФС. Ну и можно выбрать более быструю область диска.Безусловно. Именно поэтому я возможностью размещения свопа в файле не интересовался больше чем "можно".
Про LVM слышал?Слышал, но после слов "дополнительный уровень абстракции" всякий интерес к объекту полностью пропал.
Если человек ждёт пока распакуется архив, он может подождать на 2% времени больше, зато будет уверен, что если процесс распаковки заглючит, то он всегда сможет его снять через таск менеджер. В винде, что со свопом, что без, такое возможно не всегда.да вот знаешь в линупсе побороть затянувшийся tar xzf тоже не всегда возможно эффективно
да вот знаешь в линупсе побороть затянувшийся tar xzf тоже не всегда возможно эффективноправильно. Всё зависит от настроек. Но линукс можно настроить с резервированием, тогда и побороть можно будет. А можно не настраивать. А можно вообще сделать как в убунту, подобрав настройки управления свопом и IO шедулер таким образом, чтобы максимально имитировать все стороны жизни винды, включая тормоза. У меня на ноуте убунта (не настроенная, ибо настраивать убунту - это моветон, тогда лучше сразу ставить генту) регулярно по крону запускает mlocate и столь же регялрно зависает до полной потери чувствительности. Я подозреваю, что механизм этого процесса абсолютно идентичен виндовому. Но тут не разработчики ядра виноваты, а лишь разработчики убунты
кстати, "положить своп на ram-drive" - это анекдот или возможно?возможно.
Слышал, но после слов "дополнительный уровень абстракции" всякий интерес к объекту полностью пропал.Зря, офигенная штука! С ним можно, во-первых, сделать разделение данных по разделам на редко изменяемые (/, /usr на часто изменяемые (/var регулярно удаляемые/добавляемые (/home) и, наконец, временные (/tmp не заботясь о числе разделов (занят будет один физ. раздел на диске). Каждому разделу можно подобрать набор опций монтирования, зашифровать и т.д. И главное — теперь можно следовать стратегии "выделять МИНИМАЛЬНО разумный объем раздела". У меня вот 100 Гб в физическом томе вообще не используется в данный момент. Понадобятся — растяну логический том и ФС без размонтирования. Нет проблем с миграцией с одного диска, на другой, копируется необходимый минимум. Короче, сплошные бенефиты и новый уровень работы с дисковым пространством.
Мега клёвых фич то дофига, но многими ли из них ты пользуешься?
Мега клёвых фич то дофига, но многими ли из них ты пользуешься?Всеми перечисленными пользовался: мигрирование с другого жесткого, разные опции на разделах, шифрование дом. каталога, в свободном пространстве примерно через полгода создал раздел с ext4 (все до этого было в ext3). Планировались к использованию, но реально не используется только создание снапшота домашнего раздела во время резервного копирования.
Планировались к использованию, но реально не используется только создание снапшота домашнего раздела во время резервного копирования.у меня используется
Оставить комментарий
state7401281
читал, что рекомендуется размер виндового свопа выставлять от 1 до 3 объемов реальной памяти.в настоящий момент в компьютере 12Gb памяти и пиковая загрузка (по данным task manager -> performance) не превышает 8Gb.
правильно ли я пониманимаю, что это значит, что своп не используется?
или может так быть, что винда свопится даже при наличии свободной памяти?
что произойдёт (win2k3 x64 serv) если отключить своп и пополной засрать память?