Халабия Р.Ф. Администрирование вычислительных систем и сетей, страница 4
Описание файла
PDF-файл из архива "Халабия Р.Ф. Администрирование вычислительных систем и сетей", который расположен в категории "". Всё это находится в предмете "вычислительная техника" из 10 семестр (2 семестр магистратуры), которые можно найти в файловом архиве РТУ МИРЭА. Не смотря на прямую связь этого архива с РТУ МИРЭА, его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "вычислительные машины, системы и сети" в общих файлах.
Просмотр PDF-файла онлайн
Текст 4 страницы из PDF
Для существующей файловойсистемы его можно изменить с помощью ключа -a команды tunefs.Настройка maxcontig дает наилучший результат, если ее выполнить присоздании файловой системы, так как это фактически определит размер кластерафайловой системы. Проведение настройки уже используемой файловойсистемы не даст столь же впечатляющего результата, поскольку блоки, которыеуже были записаны, не будут перекомпонованы.Чтобы оценить загрузку файловых систем, имеетсмысл запуститькоманду iostat -x 5, в тот момент, когда интенсивность ввода-вывода будетнаиболее близка к обычному (или пиковому, в зависимости от того, как выхотите настроить файловую систему) уровню:Средние значения загрузки можно получить из колонок kr/s и kw/s, вболее ранних версиях системы для получения таких значений приходилосьделить содержимое колонок "K/r" и "K/w" на "r/s" и "w/s" соответственно дляполучения средних показателей "прочитано килобайт в секунду" и "записанокилобайт в секунду".Для получения информации о распределении файлов по размеру можноиспользовать команду: quot -c file_systemНапример, вот каково распределение в моей тестовой системе:quot -c /export/home...1128 11651561136 11662921160 11674521176 1168628…..………1360 11773241376 11787001440 1180140…..………1832 11935162047 40437396...Первая колонка вывода - это размер файла в блоках, вторая - числофайлов такого размера, третья - общее число блоков, занятых файлами такогоразмера и меньшими.Эффективное использование памяти и свопингаВопрос об установке в систему дополнительной оперативной памятипредставляетсобойклассическийвопросвыборамеждуценойипроизводительностью.
Если цена важнее производительности, то при нехваткепамяти увеличивают размер раздела свопинга, если важнее производительность- увеличивают объем оперативной памяти. Если же нет возможности сделать нито ни другое, новые процессы не смогут быть запущены при нехваткевиртуальной памяти (это можно заметить по сообщениям "Not enough space"или "WARNING: /tmp: File system full, swap space limit exceeded").Если виртуальной памяти достаточно, но оперативной памяти хроническине хватает, система будет в значительной степени занята пейджингом и несможет нормально откликаться на запросы. В такой ситуации можно наблюдатьневиданную дисковую активность, а сканер страниц будет занимать до 80%времени процессора.Индикатораминехваткипамятивсистемеявляютсяактивностьсканирования страниц на предмет пометки для выгрузки и активная работаустройства, на котором расположен swap-раздел.При этом высокая активность может быть временной или постоянной. Влюбом случае, имеет смысл уяснить ее причину.Частота сканирования страницПовышенная частота сканирования страниц (scan rate) - главныйпоказатель того, что в системе перестало хватать оперативной памяти.
Дляпросмотра значения scan rate используйте команды sar –g или vmstat.При анализе частоты сканирования с помощью vmstat имеет смыслзапустить эту программу с параметром 60 для получения статистики каждые 60секунд:Первую строку (суммарную статистику) можно игнорировать. Еслипоказатель page/sr остается выше 200 страниц в секунду в течение длительноговремени, это говорит о вероятной нехватке оперативной памяти в системе.Постоянно низкое значение частоты сканирования страниц говорит о том,что системе хватает памяти.
С другой стороны, высокое значение может бытьвызвано активностью процесса (или нескольких процессов одновременно),читающего данные с диска или получающего их через сеть - эти данные нетолько кэшируются операционной системой, но и занимают место в памятипроцессов, поэтому вполне могут вызвать активный пейджинг. Таким образом,не следует слепо полагаться на обсуждаемые рекомендации и считать 200страниц в секунду абсолютной догмой индикации нехватки памяти: действуйтепо ситуации, смотрите, какие процессы в действительности запущены инасколько они требовательны к памяти.Активность свопингаЕсли устройство, на котором находится область свопинга, загруженовводом-выводом, это говорит о нехватке памяти.
Можно оценить дисковуюактивность с помощью программы iostat. В Solaris 2.6 и выше следуетиспользовать команду iostat –xPnce, для получения информации об активностипередачи данных в/из конкретных разделов дисков, в Solaris 2.5.1 доступнакоманда iostat –xc, которая позволяет получить статистику ввода-вывода толькодля целого диска (физического устройства), без деления на разделы.Если своп-раздел расположен на отдельном диске (что неплохо), версиясистемыне важна, в противном случае в старых системах оценить реальнуюзагрузку диска передачами данных свопинга тяжелее.Можно также использовать sar –d или vmstat.Длинная очередь страниц для выгрузки свидетельствует о необходимостинарастить оперативную память в системе.Использование памяти процессамиВ системах Solaris, начиная с версии 2.6, есть возможность выяснить,какие программы сколько памяти занимают (и подробнее - размеры сегментовданных, кода и т.п.) с помощью программы pmap.Для получения детальной информации дайте команду/usr/proc/bin/pmap -x PIDИнформация о размере процесса в оперативной памяти также содержитсяв колонке RSS вывода программ top и ps (используйте ps -ly).В пакете SunPro есть отладчик dbx, который помогает находить источникутечки памяти в программе; для такой работы следует компилироватьпрограмму компилятором SunPro с ключом -g.Статистику использования разделяемой памяти вы получите по командеipcs -mbЭти программы следует использовать для определения размера процессови основных потребителей памяти в системе.Размер области свопинга очень важен для системы, так как недостатоквиртуальной памяти приводит к тому, что не может стартовать новый процесс.Для управления пространством свопинга (получения информации о нем,добавления и удаления разделов свопинга) используется программа swap.Получить информацию о текущем состоянии пространства свопинга можно спомощью swap -l.Для выяснения общего объема виртуальной памяти, который включает всебя объем оперативной памяти и пространства свопинга вместе, следуетиспользовать swap -s или sar -r.Если своп-раздел смонтирован в /tmp как файловая система типа tmpfs,команда df -k /tmp, покажет общий объем свободной виртуальной памяти,включая оперативную память.В Solaris применяются оба широко известных типа обмена страницамимежду оперативной памятью и пространством свопинга на диске: свопинг ипейджинг.
Как мы уже знаем, пейджинг - это выгрузка тех страниц, которыедавно не использовались, а свопинг - выгрузка всех страниц процесса. Свопингв Solaris выполняется только при сильной нехватке памяти. Какой из двухспособов освобождения оперативной памяти для текущих нужд использовать свопингилипейджинг,ядрорешает,сопоставляяобъемсвободнойоперативной памяти с ключевыми пар аметрами ядра. Эти параметрыперечислены ниже.physmem: общее количество страниц в оперативной памяти.lotsfree: сканер страниц начинает работать, когда количество свободнойоперативной памяти становится меньше lotsfree.Значение по умолчанию - physmem/64, но оно может быть изменено в/etc/system. Сканер страниц по умолчанию запускается в режиме пейджинга.Частота сканирования (scan rate, столбик sr в выводе vmstat) устанавливаетсяравной параметру slowscan , который по умолчанию равен fastscan/10.minfree: пока объем свободной памяти находится между lotsfree иminfree, частота сканирования страниц растет линейно от slowscan к fastscan помере уменьшения размера свободной памяти (рис.
1.1). Значение minfree поумолчанию - desfree/2, значение fastscan по умолчанию - physmem/4. Еслисвободной памяти становится меньше, чем desfree (что по умолчанию равноlotsfree/2), сканер страниц начинает запускаться с частотой 100 раз в секунду.За каждый свой запуск сканер страниц проверяет desscan страниц. Этотпараметр изменяется динамически вместе с частотой сканирования.maxpgio: этот параметр (в зависимости от конкретной аппаратуры онимеет значение 40 или 60) по умолчанию ограничивает частоту ввода-выводана устройство пейджинга.
Для современных дисков с частотой вращениябольше 7200 оборотов в минуту можно установить значение maxpgio в сто разбольше количества жестких дисков, задействованных в свопинге.throttlefree: когда свободной оперативной памяти становится меньше,чем определено в throttlefree (по умолчанию этот параметр равен minfree),запросы процессов на выделение им новых страниц памяти переводятся всостояние ожидания до тех пор, пока не появятся свободные страницы.cachefree: имеет значение для систем Solaris 7 (или систем 2.5.1 и 2.6 сустановленными самыми свежими обновлениями); если в этих системахпараметр priority_paging установлен равным 1 (т.е. priority paging включен), топока свободной памяти больше, чем lotsfree, освобождаются только страницыфайлового кэша в памяти, а страницы процессов не затрагиваются.
Значение поумолчанию - удвоенное lotsfree. Системы Solaris более поздних версий, начинаяс 8-й, имеют другой алгоритм освобождения оперативной памяти, и в них НЕследует включать priority paging и устанавливать значение cachefree.В системах Solaris до версии 7 включительно сканер страниц работаеттак: для выбранных сканером страниц обнуляется флаг "используемости"страницы, выбор страниц происходит со скоростью, которую можнопосмотреть с помощью vmstat или sar -g (scan rate). После обработкиhandspreadpagesстраницсканерпроверяет,установленлифлаг"используемости". Фактически, сканер состоит из двух процессов, один изкоторых идет по памяти и очищает флаги встреченных страниц, а второйследует за ним на некотором расстоянии и проверяет,не было ли новыхобращений к этой странице (не установился ли снова этот флаг).
Если флаг неустановлен (обращений к странице за то время, пока сканер отмечалhandspreadpages страниц, не произошло), то страница отправляется в своп.Параметр handspreadpages по умолчанию равен physmem/4.Рисунок 1.1 - Зависимость частоты запуска сканера страниц от объемасвободной памятиВ системах Solaris 8 и более новых алгоритм освобождения памяти иной(он называется cyclical page cache). Он рассчитан на то, что при нехваткепамяти выгружаются прежде всего страницы файлового кэша, и только затем страницы процессов. Этот алгоритм разработан для тех же целей, что и prioritypaging в Solaris 7. Новый алгоритм использует два списка свободных страниц.Один - для помещения в него освобождающихся страниц файлового кэша,другой - для помещения прочих освобождающихся страниц (разделяемойпамяти, процессов и т.п.).