Нормальное замещение страниц до Solaris 8

Оценить
(0 голоса)

До выпуска Solaris 8 столбец free в выводе утилиты vmstat мог быть не слишком хорошим индикатором наличия доступной памяти в системе. Причина заключалась в следующем, коль скоро страницы памяти используются страничным кэшем файловой системы, они больше не возвращаются в список свободной памяти. Наоборот, блоки данных файловой системы остаются в кэше на тот случай, если они снова понадобятся в будущем.

Когда демон страниц обнаруживает нехватку памяти и сканирует ее в поисках страниц, которые можно освободить, он вполне может выбрать для освобождения некоторые страницы из страничного кэша файловой системы. Если эти страницы были изменены, то они сначала опорожняются на диск. Не существует никакого простого способа для выяснения того, какая часть основной памяти используется страничным кэшем файловой системы в любой момент времени, но можно быть совершенно уверенным в том, что это будет существенно в том случае, если файлы БД расположены в файловых системах UFS, а не на низкоуровневых разделах. Установить размер памяти, используемой файлами UFS, поможет пакет memtool - инструмент мониторинга памяти, разработанный Ричардом Мак-Дугалом (Richard McDougall)) и доступный на Web-сайте настоящей книги.

Проблема состоит в том, что демон страниц может освобождать как страницы памяти прикладных программ, так и страничного кэша файловой системы, поскольку он не знает, к чему относится та или иная страница. Результатом могут стать интенсивное замещение страниц и серьезные проблемы с производительностью. Однако и добавление оперативной памяти не слишком поможет в данном случае. Это будет просто означать, что в памяти может кэшироваться большее количество страниц БД. К счастью, решение существует.

Приоритетное замещение страниц
Файлы UFS и замещение страниц
Нормальное поведение замещения страниц, начиная с операционной системы Solaris 8
Продолжение углубленного анализа
Processes Kbytes Resident Shared Private

Добавить комментарий


Защитный код
Обновить