Настройка производительности системы
Использование памяти процессами
В системах 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 выполняется только при сильной нехватке памяти. Какой из двух способов освобождения оперативной памяти для текущих нужд использовать - свопинг или пейджинг, ядро решает, сопоставляя объем свободной оперативной памяти с ключевыми пар аметрами ядра. Эти параметры перечислены в следующем разделе.