> man operating_systems
Настройка параметров виртуальной памяти и дискового кэша
Сбрось память на диск!
на Среда, 07 Июль 2004, 17:03
добавил: Игорь Лейко список авторов печатать элемент контента создать pdf-файл  элемент контента
категория Статьи > Windows
комментарии: 0
просмотров: 8878


Результат
Прежде всего, меня удивило то, что во всех 12 случаях после печати размер файла подкачки был одинаков: 19 четырехмегабайтвых кусков. Исходя из общепринятых представлений логично было бы ожидать, что при меньшем объеме памяти файл подкачки должен был бы быть больше.

Добавление параметра действительно уменьшало исходный размер файла подкачки: с 68 Мб до 0 при 128 Мб памяти и с 68 Мб до 52 Мб - при 48 Мб ОЗУ.

При 128 Мб занято в файле подкачки перед началом печати (т.е. после загрузки) в обоих случаях было 0 байт, при 48 Мб - около 2 Мб при выключенном и 0 - при включенном параметре. Напомню, что сразу после выполнения задания размер файла подкачки был одинаков во всех 12 экспериментах. То есть, место на диске добавлением этого параметра сэкономить не удалось.

А как обстоят дела с другими характеристикам, в частности, собственно объемом подкачки и скоростью? Ведь чем меньше обращений к файлу подкачки, тем выше должна быть скорость работы.

Среднее время выполнения задания (около минуты для 128 Мб и примерно 70 секунд для 48 Мб) при включенном параметре незначительно отличалось в меньшую сторону на 128 Мб и в большую - на 48 Мб. Но статистически эти отличия были недостоверны: различия между сериями оказались меньше или сопоставимы с разбросом значений внутри серий (пришлось вспоминать правила обработки результатов экспериментов, которые я когда-то изучал в курсе матстатистики).

Одинаковым, независимо от параметра (опять-таки в пределах разброса внутри серии), было:

<ul>
<li>число байтов, прочитанных с диска и записанных на диск, что вполне логично;</li>
<li>количество прочитанных (с диска) страниц виртуальной памяти, что нелогично, если считать общепринятое мнение о параметре правильным. Подкачка должна была бы быть меньше;</li>
<li>количество страниц, записанных на диск диспетчером памяти при 128 Мб ОЗУ, что также нелогично при вышеуказанном предположении.</li>
</ul>

У двух параметров разница была статистически достоверной. При ОЗУ 48 Мб добавление параметра ConservativeSwapfileUsage=1 увеличивало количество выгрузок страниц в файл подкачки с полутора тысяч до ~1800 при разбросе внутри серий всего около процента.

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

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

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

Одинаковое значение размера файла подкачки в конце работы показывает, что потребность системы в виртуальной памяти не зависит от параметра. Выделяется ли память до запуска программы или после - влияет только на первоначальный размер файла подкачки. Количество необходимой системе виртуальной памяти не меняется.

То, что размер файла подкачки оказывается одинаковым и при 128 Мб ОЗУ, и при 48 Мб, скорее всего, означает, что общее количество места, зарезервированнго в файле подкачки (как до запуска программ, так и в процессе работы), зависит от запущенных программ, а вовсе не от объема ОЗУ. Это опять-таки соответствует логике использования файла подкачки, изложенной разработчиками.

Дополнительный эксперимент
Когда результаты эксперимента уже были обработаны, я задумался над увеличением количества выгрузок страниц в файл подкачки. А что, если это увеличение является "" и в дальнейшей работе не проявляется? То есть при увеличении загрузки памяти содержимое ненужных страниц выгружается на диск - в процессе работы выполняется именно та операция, которую Windows 98 в нормальных условиях выполняет в ходе загрузки. Впрочем, это легко проверить. Поскольку в данном случае вполне достаточно качественной картины, без тщательных измерений можно было обойтись.

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

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



© OSRC.info, 2004-2010.
Авторские права на любые материалы, авторы которых явно указаны, принадлежат их авторам. По вопросам публикации таких материалов обращайтесь к авторам.
Авторские права на любые другие материалы принадлежат OSRC.info.
Сайт является помещением библиотеки. Копирование, сохранение на жестком диске или иной способ сохранения произведений осуществляются пользователями на свой риск.
При использовании материалов сайта ссылка на OSRC.info обязательна.