logo
Книга по БД(Вальке А

7.6.2. Сколько памяти использует сервер бд

Память, которую экземпляр сервера БД Informix забирает у ОС состоит из следующих основных частей (напомним, что одновременно может быть запущено несколько экземпляров сервера базы данных на одной машине):

Суммарный размер сегмента кода и сегмента данных и стека обычно невелик по сравнению с размером разделяемой памяти. Так, размер сегмента кода для процесса oninit обычно составляет от 2-х до 4-х мегабайт. Более точно узнать объем памяти, выделенной операционной системой можно с помощью команды ОС Unix

ps –lu informix

которая в поля “sz” покажет число выделенных страниц памяти (стоит помнить, что все процессы oninit внутри одного экземпляра сервера использую общий сегмент кода и, поэтому, надо не суммировать общее число страниц, а посмотреть число страниц для любого отдельного процесса oninit).

Разделяемая память используется сервером БД Informix для обмена информацией между нитями (процессами oninit), составляющими сервер и для хранения буферов, используемых для обработки запросов пользователей. На размер требуемой разделяемой памяти влияет количество буферов, количество замков, размер логов и другие параметры, которые задаются в конфигурационном файле при запуске сервера Informix. Узнать текущий размер выделенной разделяемой памяти можно утилитой

onstat – -

Пример листинга данной утилиты:

> echo $INFORMIXSERVER tcp_serv1

> onstat - - INFORMIX-Dynamic Server/UD Version 9.13.UC1 -- On-Line -- Up 37 days 23:41:53 -- 8896 Kbytes

По приведенному здесь листингу видно, что размер разделяемой памяти для данного экземпляра сервера составляет 8896 КБт (напомним, что переменная окружения INFORMIXSERVER определяет экземпляр сервера, с которым производится работа, в данном случае, это сервер по имени «tcp_serv1»).