Изменить Windows «Swappiness»


10

Есть ли в Windows 7 модифицируемый эквивалент «перестановки»?

В моей системе 8 ГБ ОЗУ, что более чем достаточно для повседневного использования. Я хотел бы изменить поведение подкачки, которое в * NIX-системах называют перестановкой, и установить его равным 0, как я делал на своей машине с Ubuntu.

Я искал в Интернете это, но все ответы, похоже, для * NIX систем.


Из любопытства, лучше ли установить swappiness на более высокое или более низкое значение?
Джон

Это зависит от того, сколько у вас оперативной памяти и сколько ее вы используете. В моем случае установка его в 0 будет только заменена на диск, чтобы предотвратить out of memoryошибку. Смотрите этот ответ на AskUbuntu для более @ chipperyman573
Рат

1
Похоже, Windows не имеет аварийной защиты от ошибок нехватки памяти. Смотрите ссылку из моего ответа.
wullxz

Ответы:


7

В Windows есть нечто, называемое «файл подкачки», где система меняет приложения, чтобы освободить оперативную память. В настоящее время я не на машине с Windows, но шаги, которые Adobe выложила здесь, выглядят правильно (я думаю, что Win+ Pause- это ярлык «Расширенные настройки системы»).

Хотя возможно отключить файл подкачки, есть некоторые опасения по этому поводу. Для получения дополнительной информации прочитайте это


2
Как вы говорите в своем комментарии, Windows действительно не имеет защиты от ошибок нехватки памяти. Это заставляет меня верить, что нет эквивалента «подкачки». +1, тем не менее, за интересный новый ярлык, который я узнал, и помеченный как принятый, потому что ссылка, которую вы разместили, привела меня к этой статье . Приветствия
rath

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

1
У меня есть ноутбук с 8 ГБ оперативной памяти, и я использую с выключенным. Нет разницы между наличием 8 ГБ ОЗУ без подкачки и 4 ГБ ОЗУ + 4 ГБ макс. Всегда есть предел, и как только вы его достигнете, вы увидите ошибки.
Натан

@Natan: Я бы взял 8 ГБ ОЗУ больше, чем 4 + 4 в любой день, что произойдет с вашей производительностью, когда у вас кончится физическая нагрузка во время операций с ОЗУ?
Марк К Коуэн

@MarkKCowan Я думаю, что есть разница между 128 МБ и 8 ГБ оперативной памяти. Когда память заполнится, ОС начнет восстанавливать память, а сборщики мусора выполнят свою работу. На настольном компьютере с 8 ГБ практически гарантировано, что он будет восстановлен для продолжения работы, потому что большая часть его - кэш. Если вам не хватает памяти, подкачка всегда будет хуже, чем восстановление памяти, потому что диск на несколько порядков медленнее, чем CPU + RAM.
Натан

0

Виртуальная память - это нечто большее, чем просто «приложения, выделяющие ОЗУ, и когда физическая ОЗУ заканчивается, что-то выгружается в SWAP».

В Linux (и, возможно, UNIX в целом) система пытается сохранить страницы, недавно прочитанные в ОЗУ: выполненные программы, загруженные данные, недавно записанные данные (уже на диске) и т. Д. Так что, если та же программа будет выполнена снова, она не не нужно перезагружать с диска. Когда какая-либо программа запрашивает выделение большего объема памяти для своего виртуального адресного пространства, сначала перенаправляются оставшиеся дисковые буферы (без доступа к диску). Если этого недостаточно, некоторые страницы запущенных приложений, к которым недавно не обращались, фактически заменяются. В Linux обмен обычно не происходит вообще. Как только ваша система начинает перезагружаться, вы замечаете повышенную активность диска (и медлительность), и вы говорите «о, что за…», потому что это, вероятно, означает, что у какого-то приложения происходит утечка памяти или что-то из-под капота стало неуправляемым.

У Windows традиционно есть дурацкая дополнительная привычка: они заменяют целые приложения пользовательского пространства после некоторого перерыва в бездействии. Строго говоря, без извинений, просто чтобы иметь как можно больше доступной оперативной памяти, «на всякий случай», вы хотели запустить еще одно голодное приложение. Если вы оставите компьютер включенным и уйдете на несколько часов, то по возвращении вы заметите, что любое приложение, на которое вы переключаетесь, автоматически перезагружается из свопинга. Такое поведение было особенно болезненным в Windows 2000 и постепенно становится менее заметным в более современных версиях Windows. В W2k отключить своп было легко. Windows 7 все еще может сочиться, как мед, иногда без особой причины, Windows 8.1 и 10 заметно улучшились ... но все еще нет настраиваемой ручки для "подкачки" или других настраиваемых параметров алгоритма подкачки.

Существуют и другие факторы, которые могут привести к перебоям системы при медленном доступе к диску. В Windows 7 вы никогда не узнаете, что система только что сменила ваше приложение в старом добром стиле W2k, или вам следует обвинить Антивирус в том, что ваше приложение запускается так медленно, или если что-то происходит в Центре обновления Windows. на этот раз (известно, что в его алгоритмах встречаются встречные причуды, которые приводят к зависаниям при 100% потреблении ЦП и / или перегрузке диска), или, если конкретно какая-то задача по уборке .NET Framework потерялась в базе данных WinSXS или чем-то еще. В некоторых случаях / в некоторых версиях / воплощениях программного обеспечения Microsoft на самом деле кажется, что некоторые «родные» окна «в фоновых задачах» (в частности, управление локальной базой данных Windows Update) намеренно «скрыты» в диспетчере задач, их использование процессора и оперативной памяти не отображается в общем потреблении памяти. «Легитимная» активность, но довольно трудно отличить ее от руткита вредоносного ПО ... Только после того, как переворот прекращается и сразу появляется всплывающее окно с надписью «доступны новые обновления», вы понимаете причину.

По крайней мере, последние версии Windows могут сообщать вам об активности дискового ввода-вывода для каждого процесса, а отдельные службы теперь отображаются отдельно (вместо одного процесса SVCHOST.EXE).

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.