Оптимизация размера файла подкачки: я хотел бы уточнить о Peak Commit и моей физической памяти?

534
Ahu Lee

Я хочу оптимизировать размер файла подкачки в соответствии со своими потребностями. И я хочу следовать формуле, предложенной Марком Руссиновичем: минимум должен быть Peak Commit минус физическая RAM, а максимум должен быть вдвое больше.

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

1) Красным ли является этот номер, упомянутый г-ном Руссиновичем?

На экране окно Информация о системе в Process Explorer

enter image description here

2) В Панели управления> Система написано, что установленная у меня оперативная память составляет 4 ГБ, и только 2,45 ГБ можно использовать . И, очевидно, в диспетчере задач моя общая физическая память также составляет 2509 МБ. Это потому, что моя ОС 32-битная. Итак, правильно ли я понимаю, что эти 2509 (а не те 4 ГБ) - это число, которое я должен использовать для расчета размера файла подкачки?

Я знаю, что это глупо, но, как я уже сказал, я хочу убедиться, что я все делаю правильно.

Большое спасибо.

0

1 ответ на вопрос

1
Jamie Hanrahan

Вы, несомненно, имеете в виду «Расширение Windows: виртуальная память» Марка Руссиновича.

  1. Да, это номер.
  2. Да, у вас есть только 2,5 ГБ оперативной памяти (примерно - здесь нет необходимости в дополнительной точности).

Тем не менее .. вы пишете "делать все правильно". Я должен отметить, что статья Марка о «расширении границ», и эта формула дает вам абсолютный минимум для размера файла подкачки. Если вы хотите, чтобы ваша система работала хорошо, вы не хотите «раздвигать границы».

В этой статье нет рекомендаций, в которых говорится, что вы должны сделать настройки такими маленькими. Только то, что вы можете сойти с рук, если вы действительно хотите. (Предполагая, что вам на самом деле никогда не требуется больше преданной памяти.)

(И вам вполне может понадобиться больше. Помните, что этот «пик», который вы видели здесь, является лишь пиком для продолжительности запуска Process Explorer. Он имеет смысл только в том случае, если вам доведется запустить максимальную рабочую нагрузку приложения в течение этого времени. Это означает не только запуск всех приложений, которые, по вашему мнению, когда-либо будут запущены одновременно, вам также нужно, чтобы каждое приложение использовало максимальную частную память («выделенную» память), о которой вы когда-либо будете просить. сложная вещь для настройки и тестирования. И кто скажет, что вы никогда не добавите другое приложение к вашей обычной рабочей нагрузке? Таким образом, информация, которую вы получаете с помощью инструментов мониторинга, не гарантирует, что вам больше никогда не понадобится больше.)

Обратите внимание, что если вам действительно придется снова достичь этого пика, а для файла подкачки задано значение минимума, которое вы рассчитываете таким образом, в ОЗУ не останется места для оперативной памяти, используемой сопоставленными файлами - такими как файлы кода, такие как exe и dll's., (Это связано с тем, что в число «выделенной» виртуальной памяти не входят кодовые страницы или другие страницы, поддерживаемые сопоставленными файлами.) Поскольку для выполнения кода должен быть код в ОЗУ, это является проблемой.

Хорошо, поскольку вы включаете расширение файла подкачки, это не проблема "showtopper". Но это, безусловно, будет хитом производительности.

Поэтому, если вы по какой-то академической причине не пытаетесь продемонстрировать абсолютный минимальный размер файла подкачки, который не приведет к сбоям приложения, независимо от проблем с производительностью, я бы так не поступил. (Я не могу придумать практическую причину сделать это.)

Если вы действительно хотите сократить практический минимум, то есть, не ограничивая объем оперативной памяти, доступной для кода, просто установите минимальный размер вашего файла подкачки в соответствии с наблюдаемым максимальным зарядом фиксации. Это означает, что для кода по-прежнему будет доступно ОЗУ, даже если приложения и ОС создали столько выделенной памяти (и ссылались на все это).

Также нет причин ограничивать максимальный размер только в 2 раза меньше, если только вы не очень заинтересованы в использовании диска.

Видите ли, не вредно (кроме использования дискового пространства) иметь файл подкачки больше, чем когда-либо понадобится системе. В частности, больший файл подкачки, чем необходимо, не «привлечет» к нему больше страниц. И нет никакого преимущества в том, чтобы сделать его достаточно большим (опять же, кроме использования дискового пространства). Так зачем? т.е. вы не «оптимизируете» ничего, кроме дискового пространства, занимаемого этим упражнением.

Учитывая, что превышение лимита фиксации может привести к сбоям приложения (и, следовательно, к потере данных), а в редких случаях даже к сбоям системы, я не был бы настолько заинтересован в том, чтобы сделать мой файл подкачки как можно меньше.

С другой стороны, если системе приходится много писать в файл подкачки - и в системе Windows 7 с использованием только 2,5 ГБ ОЗУ, я думаю, это будет - иметь файл подкачки, который значительно больше, чем когда-либо будет использовать система. ускорить вещи. Зачем? Потому что алгоритм распределения пространства, который используется для файла подкачки, может быть намного быстрее, если есть много свободного места.

Из-за этого мне нравится видеть счетчик PerfMon для использования% Pagefile%, чтобы оставаться ниже 25 процентов.

Спасибо за прекрасный ответ, Джейми! Я надеюсь, что кто-то другой (и не только я) также сочтет это полезным, потому что, похоже, вы потратили на него столько времени. Фактически, я не читал оригинальную статью, я только видел / читал ссылку на нее здесь https://lifehacker.com/5426041/understanding-the-windows-pagefile-and-why-you-shouldnt-disable-it. Итак, спасибо за ссылку на оригинал и объяснение мне, что это было на самом деле, а также за ваш взгляд на проблему. Ahu Lee 6 лет назад 0
Все, что вы сказали, имеет смысл для меня, но автор статьи в lifehacker.com (см. Ссылку выше), которую я прочитал, вначале утверждал, что из-за огромного файла подкачки ваша система будет работать очень медленно в случае открытия 12 ГБ стоит использовать приложения, и ваш жесткий диск будет расти до такой степени, что ваш компьютер будет довольно непригодным для использования. Так он или она просто не прав? Спасибо вам большое! Ahu Lee 6 лет назад 0
Они просто не правы. Во-первых, когда вы «открываете» приложение, _none_ его хранилища находится в файле подкачки, поэтому нет оснований что-либо читать из него. Если мы говорим о возвращении к долго простаивающему приложению, то да, Windows вполне могла бы выложить часть этого ... не все это на файл подкачки, кстати ... но это сделано только для самого старого материала в рабочий рабочий набор, который вряд ли понадобится снова. Обычно Windows ничего не помещает в ваш файл подкачки, если только иное не требуется для оперативной памяти. И, наконец, Windows - это ОС со спросом, что означает, что ... Jamie Hanrahan 6 лет назад 0
... это только страницы в материалах, которые вам действительно нужны. Поэтому, когда вы возвращаетесь к длительному бездействующему процессу, в котором некоторые элементы выгружены, он не будет автоматически пытаться вернуть все обратно. Это было бы глупо, и вопреки распространенному мнению, люди из ядра ОС Windows не глупы. Это только страницы на тех страницах, к которым процесс фактически пытается получить доступ. (То же самое происходит, когда вы запускаете приложение, в этом отношении; приложение никогда не загружается целиком.) Поэтому, даже если оно фактически записало много файлов в файл подкачки из разных процессов, ему не нужно читать все это прежде чем делать что-либо еще. Jamie Hanrahan 6 лет назад 0