Опубликован: 19.10.2005 | Уровень: специалист | Доступ: платный | ВУЗ: Европейский Университет в Санкт-Петербурге
Лекция 7:

Настройка производительности системы

Использование памяти процессами

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

Алексей Антипин
Алексей Антипин
Россия, Томск, ТУСУР, 2010
Игорь Тарасенко
Игорь Тарасенко
Россия