Прочие настраиваемые параметры
AIX позволяет настраивать несколько дополнительных параметров.
- AIX_TZCACHE
Флаг Дескриптор Назначение: Применяется для хранения фиксированной копии переменной TZ во время выполнения процесса. Значения: По умолчанию: Нет Допустимые значения: ON (включает параметр)
Просмотр: $AIX_TZCACHE Изменение: export AIX_TZCACHE=ON Изменения применяются для всех процессов, которые затем будут запускаться из этой оболочки. Указывает, что приложение должно всегда использовать начальное значение переменной TZ. Этот процесс повышает производительность, если приложение часто запрашивает часовой пояс. Например, если приложение часто проверяет локальное время. Однако, после запуска приложения любые изменения переменной TZ игнорируются.
Рекомендации: Этот параметр не рекомендуется использовать в универсальной конфигурации системы в файле /etc/environment. Укажите этот параметр для приложений, которые не изменяют переменную TZ, но часто запрашивают часовой пояс. Настройка: нет - EXTSHM
Дополнительная информация: Расширенная общая память
Флаг Дескриптор Назначение: Включает опцию расширенной общей памяти. Значения: По умолчанию: Нет Допустимые значения: ON, 1SEG, MSEG
Просмотр: echo $EXTSHM Изменение: export EXTSHM В данной оболочке изменения вступают в силу немедленно. Изменение действительно до выхода из оболочки. Для того чтобы сделать это изменение постоянным, добавьте команду EXTSHM=ON , EXTSHM=1SEG или EXTSHM=MSEG в файл /etc/environment.
Рекомендации: нет Настройка: Установка значения ON, 1SEG или MSEG позволяет уменьшить размер выделяемых для процесса сегментов общей памяти до одного байта, округленного до размера целой страницы. Таким образом снимается ограничение в 11 пользовательских сегментов общей памяти. Для 32-разрядных процессов максимальный общий размер всех сегментов памяти составляет 2,75 ГБ. Значение переменной EXTSHM ON эквивалентно значению 1SEG. С любым из этих значений любой фрагмент общей памяти размером меньше 256 МБ создается в системе как сегмент mmap, и тем самым влияет на производительность аналогично mmap. Общая память с размером 256 МБ и больше представляется в виде рабочего сегмента.
Если EXTSHM задана равной MSEG, то вся общая память создается в системе как сегмент mmap, что позволяет улучшить работу с памятью.
- LDR_CNTRL
Флаг Дескриптор Назначение: Разрешает настройку загрузчика ядра. Значения: По умолчанию: Нет Возможные значения: PREREAD_SHLIB, LOADPUBLIC, IGNOREUNLOAD, USERREGS, MAXDATA, MAXDATA32, MAXDATA64, DSA, PRIVSEG_LOADS, DATA_START_STAGGER, LARGE_PAGE_TEXT, LARGE_PAGE_DATA, HUGE_EXEC, NAMEDSHLIB, SHARED_SYMTAB и SED
Просмотр: echo $LDR_CNTRL Изменение: LDR_CNTRL={PREREAD_SHLIB | LOADPUBLIC| ...}export LDR_CNTRL В данной оболочке изменения вступают в силу сразу после выполнения команды. Изменение действительно до выхода из оболочки. Для того чтобы сделать изменение постоянным, добавьте следующую команду в файл /etc/environment: LDR_CNTRL={PREREAD_SHLIB | LOADPUBLIC| ...} Рекомендации: нет Настройка: С помощью переменной среды LDR_CNTRL можно задать многие аспекты работы системного загрузчика ядра. В переменной LDR_CNTRL можно задать многие атрибуты. Атрибуты следует отделять друг от друга символом '@'. Например: LDR_CNTRL=PREREAD_SHLIB@LOADPUBLIC. Если задан атрибут PREREAD_SHLIB, то при обращении к библиотеке считывается все ее содержимое. Если в VMM настроен режим упреждающего чтения, библиотеку можно считать с диска и записать в кэш программы, обращающейся к ее страницам. Хотя в этом случае будет расходоваться больше памяти, применение такого подхода позволяет повысить скорость работы программ, обращающихся к большому числу страниц общих библиотек при условии, что применяется произвольный способ доступа к данным (например, Catia). Если задана опция LOADPUBLIC, то загрузчик ядра загружает все модули, запрошенные приложением, в глобальный сегмент памяти общей библиотеки. Если модуль нельзя загрузить в глобальный сегмент памяти общей библиотеки, предоставив доступ к этому модулю всем процессам, то сегмент загружается только для исходного приложения.
Опция IGNOREUNLOAD позволяет запретить выгрузку библиотек. Благодаря этому можно предотвратить фрагментацию памяти и избавиться от лишней нагрузки, возникающей от постоянной загрузки и выгрузки библиотек. Если опция IGNOREUNLOAD не указана, может возникнуть ситуация, когда в память загружено два экземпляра модуля: один при запуске приложения, а второй по динамическому запросу.
Если задана опция USERREGS, то система сохраняет содержимое пользовательских регистров общего назначения. Таким образом, эти регистры могут использоваться последующими системными вызовами, сделанными в рамках этого приложения. Эта опция может применяться в том случае, если приложение выполняет сбор мусора.
Опция MAXDATA позволяет ограничить размер кучи и при необходимости переопределить значение, указанное в исполняемом файле. Значение MAXDATA задает начальное ограничение ресурсов процесса. В 32-разрядных программах, если значение MAXDATA больше нуля, то включается модель большого адресного пространства. См. Поддержка больших программ. Для выключения модели большого адресного пространства переменную MAXDATA необходимо обнулить: LDR_CNTRL=MAXDATA=0. В 64-разрядных программах MAXDATA задает гарантированный максимальный размер кучи данных программы. Часть адресного пространства, зарезервированная для кучи, недоступна процедурам shmat() и mmap() даже в том случае, если адрес указан явным образом. Можно указать произвольное значение, однако область данных не может выходить за пределы 0x06FFFFFFFFFFFFFF вне зависимости от значения maxdata.
Два дополнительных параметра существуют для оптимизации отдельно для 32-разрядных и 64-разрядных процессов. Дополнительные параметры максимального размера переопределяют опцию MAXDATA в двух соответствующих объектных моделях. Опция MAXDATA32 выполняет роль MAXDATA в 32-разрядных процессах, а в 64-разрядных игнорируется. Аналогично, опция MAXDATA64 влияет только на 64-разрядные процессы.
Опция PRIVSEG_LOADS указывает системному загрузчику, что динамически загружаемые личные модули процесса нужно помещать в личный процесс сегмента. Это может повысить коэффициент готовности памяти при работе объемных приложений, выполняющих динамическую загрузку личных модулей и сталкивающихся с нехваткой памяти в куче процесса. Если в личном сегменте процесса недостаточно места, опция PRIVSEG_LOADS не играет роли. Опция PRIVSEG_LOADS действует только для 32-разрядных приложений с ненулевым значением MAXDATA.
Если будет указана опция DATA_START_STAGGER=Y, сегмент данных процесса будет начинаться со смещения, зависящего от MCM и определенного опцией data_stagger_interval команды vmo. У процесса с номером n, выполняемого в определенном MCM, раздел данных начинается по адресу (n * data_stagger_interval * PAGESIZE) % 16 МБ. Опция DATA_START_STAGGER=Y допустима только для 64-разрядных процессов в 64-разрядном ядре.
Опция LARGE_PAGE_TEXT=Y указывает, что загрузчик должен пытаться разместить текстовый сегмент процесса в больших страницах памяти. Опция LARGE_PAGE_TEXT=Y допустима только для 64-разрядных процессов в 64-разрядном ядре.
Если указана опция LARGE_PAGE_DATA=M, то большие страницы выделяются для сегмента данных только в пределах значения brk, тогда как без этой опции большие страницы выделяются для всего сегмента. Изменение значения brk может не сработать, если для нового значения brk будет недостаточно больших страниц памяти.
Опция RESOLVEALL указывает, что загрузчик должен принудительно преобразовать все неопределенные символы, импортированные во время загрузки программы или динамических модулей. Преобразование символов выполняется в стандартной для AIX последовательности. Если вы укажете опцию LDR_CNTRL=RESOLVEALL и при этом импортированные символы будет невозможно преобразовать, то программа или динамический модуль не будут загружены.
Опция HUGE_EXEC переменной среды позволяет пользователю управлять процесс расположением адресного пространства процессов сегментов, доступных только для чтения, для некоторых 32-разрядных исполняемых файлов. Дополнительная информация приведена в разделе Большие исполняемые файлы.
Задание опцииNAMEDSHLIB=имя,[атрибут-1],[атрибут-2]...[атрибут-N]запускает процесс доступа к области общей библиотеки или создания такой библиотеки с указанным именем. Для создания именованной области общей библиотеки можно использовать следующие способы:- Без атрибутов
- С атрибутом doubletext32, который создает именованную область общей библиотеки, имеющую два сегмента, выделенных для текста общей библиотеки.
NAMEDSHLIB=имя,[атрибут-1],[атрибут-2]...[атрибут-N]проигнорируется. Допустимые имена имеют ненулевую длину и содержат только символы букв, цифр, подчеркивания и точки.Если указана опция
SHARED_SYMTAB=Y, то для экспорта символов в 64-разрядных программах система создаст общую таблицу символов. Если параллельно выполняются несколько программ, общая таблица символов позволит уменьшить объем используемой системной памяти.Если указана опция
SHARED_SYMTAB=N, общая таблица символов не создается. Эта опция переопределяет флагAOUT_SHR_SYMTABв необязательном заголовке XCOFF.Опция SED запрещает процессу использовать стек для выполнения кода и блокирует все опции SED, указанные в исполняемом файле. Опция может иметь одно из следующих значений:SED=system SED=request SED=exempt - LDR_PRELOAD LDR_PRELOAD64
Флаг Дескриптор Назначение: Включает предварительную загрузку общих библиотек. Опция LDR_PRELOAD предназначена для 32-разрядных процессоров, а LDR_PRELOAD64 - для 64-разрядных. Поиск имён функций начинается с библиотек, перечисленных в данных переменных, и, если он не дал результатов, выполняется обычный поиск. Замещение символов из предварительно загруженных библиотек работает как для компоновки AIX по умолчанию, так и для динамической компоновки. Поведение отложенной обработки имён не меняется. Значения: По умолчанию: Нет Допустимые значения: имена библиотекПрим.: несколько библиотек разделяются двоеточием (:). Библиотеки, входящие в состав архивов, указываются в скобках.Просмотр: echo $LDR_PRELOAD echo $LDR_PRELOAD64
Изменение: $LDR_PRELOAD="libx.so:liby.a(shr.o)" Поиск имён функций выполняется сначала в libx.so, потом в объекте shr.o архива liby.a, а затем в библиотеках, от которых зависит процесс. Поиск динамически (с помощью dlopen() или load()) загружаемых модулей также будет выполняться сначала среди предварительно загруженных библиотек, указанных в переменной среды.
Рекомендации: нет - NODISCLAIM
Дополнительная информация: Статическое выделение пространства подкачки
Флаг Дескриптор Назначение: Задает способ обработки вызовов free(). Если параметр PSALLOC равен early, то все вызовы free() обрабатываются с помощью системных вызовов disclaim(). Если параметр NODISCLAIM равен true, этого не происходит. Значения: По умолчанию: Нет Возможное значение: True
Просмотр: echo $NODISCLAIM Изменение: NODISCLAIM=true export NODISCLAIM В данной оболочке изменения вступают в силу немедленно. Изменение действительно до выхода из оболочки. Для того чтобы сделать изменение постоянным, добавьте команду NODISCLAIM=true в файл /etc/environment.
Рекомендации: Если число системных вызовов disclaim() велико, то рекомендуется включить эту опцию. Настройка: Если для переменной PSALLOC установлено значение early, то настройка данной переменной приведет к исключению вызовов disclaim() из функции free(). - NSORDER
Дополнительная информация: Настройка преобразования имен
Флаг Дескриптор Назначение: Переопределяет порядок поиска при преобразовании имени набора. Значения: По умолчанию: bind, nis, local Возможные значения: bind, local, nis, bind4, bind6, local4, local6, nis4 и nis6
Просмотр: echo $NSORDER Этот режим включается системой, поэтому начальное значение по умолчанию нельзя просмотреть с помощью команды echo.
Изменение: NSORDER=значение,значение, ... export NSORDER В данной оболочке изменения вступают в силу немедленно. Изменение действительно до выхода из оболочки. Для того чтобы сделать это изменение постоянным, добавьте команду NSORDER=значение в файл /etc/environment.
Рекомендации: нет Настройка: Переменная NSORDER имеет больший приоритет, чем файл /etc/netsvc.conf . - PSALLOC
Дополнительная информация: Выделение и освобождение блоков пространства подкачки и Статическое выделение пространства подкачки
Флаг Дескриптор Назначение: Устанавливает значение переменной среды PSALLOC, задающей стратегию выделения пространства подкачки. Значения: По умолчанию: Нет Возможное значение: early
Просмотр: echo $PSALLOC Изменение: PSALLOC=early export PSALLOC В данной оболочке изменения вступают в силу немедленно. Изменение действительно до выхода из оболочки.
Рекомендации: нет Настройка: Малый объем пространства подкачки может привести к уничтожению процесса. Избежать этого позволяет стратегия предварительного выделения пространства подкачки для процесса. Однако при этом может возрасти объем неиспользуемого пространства подкачки. Вместе с данной переменной среды рекомендуется задать переменную среды NODISCLAIM. - RT_GRQ
Дополнительная информация: Очередь выполнения планировщика
Флаг Дескриптор Назначение: Указывает, что нить должна быть помещена в глобальную очередь выполнения, а не в очередь выполнения конкретного CPU. Значения: По умолчанию: Нет Диапазон: ON, OFF
Просмотр: echo $RT_GRQ Изменение: RT_GRQ={OFF/ONexport RT_GRQ Изменение вступает в силу немедленно и действует до следующей загрузки. Для внесения изменения на постоянной основе добавьте команду RT_GRQ={ON|OFF} в файл /etc/environment.
Рекомендации: нет Настройка: Эту опцию можно включить в многопроцессорной системе. Если значение параметра равно ON, то нить будет помещена в глобальную очередь выполнения. В этом случае планировщик будет выбирать из глобальной очереди выполнения нить с минимальным приоритетом. В итоге нити с алгоритмом планирования SCHED_OTHER, для управления которыми применяются прерывания, будут быстрее передаваться на выполнение. - RT_MPC
Флаг Дескриптор Назначение: Когда ядро работает в режиме реального времени (см. описание команды bosdebug), то другому процессору можно отправить прерывание MPC, для того чтобы немедленно запустить нить с более высоким приоритетом. Значения: По умолчанию: Нет Диапазон: ON
Просмотр: echo $RT_MPC Изменение: RT_MPC=ON export RT_MPC Изменение вступает в силу немедленно и действует до следующей загрузки. Для того чтобы сделать изменение постоянным, добавьте строку RT_MPC=ON в файл /etc/environment.
Рекомендации: нет - TZ
Флаг Дескриптор Назначение: Задает часовой пояс. Значения: По умолчанию: часовой пояс (из базы данных Олсона) Возможные значения: часовой пояс по Олсону или POSIX
Просмотр: echo $TZ Изменение: TZ = значение-TZ В оболочке изменения вступают в силу немедленно. Изменения действуют до выхода из оболочки. Для того чтобы сделать изменение постоянным, добавьте команду TZ=значение в файле /etc/environment.
Рекомендации: нет Настройка: Формат POSIX следует использовать в приложениях, в которых более критично быстродействие, а не точность значения часового пояса -
VMM_CNTRL
Флаг Дескриптор Назначение: Разрешает настройку администратора виртуальной памяти. Значения: По умолчанию: Нет Возможные значения: vmm_fork_policy, ESID_ALLOCATOR, SHM_1TB_SHARED, SHM_1TB_UNSHARED
Просмотр: echo $ VMM_CNTRL Изменение: VMM_CNTRL={vmm_fork_policy=… | ESID_ALLOCATOR=… | ...}export VMM_CNTRL В данной оболочке изменения вступают в силу немедленно. Изменение действительно до выхода из оболочки. Для того чтобы сделать изменение постоянным, добавьте переменную среды
VMM_CNTRL=в файл /etc/environment.Рекомендации: нет Настройка: С помощью переменной среды VMM_CNTRLможно управлять администратором виртуальной памяти. С помощью переменной средыVMM_CNTRLможно указать несколько опций; в качестве разделителя применяется символ '@'. Пример указания нескольких опций:VMM_CNTRL=vmm_fork_policy=COW@SHM_1TB_SHARED=5При указании опции
vmm_fork_policy=COWкаждый раз при порождении процессаvmmиспользует стратегию дерева порождения с копированием по команде. Это поведение по умолчанию. Для того чтобы запретитьvmmприменение стратегии записи по команде, укажите опциюvmm_fork_policy=COR. Если указан параметрvmm_fork_policy, то глобальный параметрvmm_fork_policyигнорируется.Если опция
ESID_ALLOCATORуказана, то она управляет распределителем из присвоенийshmatиmmapбез направления. Дополнительная информация приведена в разделе Использование псевдонимов для сегмента 1 ТБ.Параметры
SHM_1TB_SHAREDиSHM_1TB_UNSHAREDуправляют использованием областями общей памяти объемом 1 ТБ. Дополнительная информация приведена в разделе Использование псевдонимов для сегмента 1 ТБ. - AIX_STDBUFSZ
Флаг Дескриптор Назначение: Настраивает размер буфера ввода-вывода для вызовов чтения и записи, создаваемых командами cp,mv,cat, cpio. Также применимо для потоковой буферизации. Значения: По умолчанию: Нет. Возможные значения: целое число, указывающее размер буфера в байтах, килобайтах или мегабайтах.
Просмотр: echo $ AIX_STDBUFSZ Изменение: AIX_STDBUFSZ=1024; export AIX_STDBUFSZ (Для настройки размера буфера 1024) В данной оболочке изменения вступают в силу немедленно. Изменение действительно до выхода из оболочки. Для того чтобы сделать изменение размера буфера постоянным, добавьте переменную среды
AIX_STDBUFSZв файл /etc/environment.Рекомендации: нет Настройка: Укажите значение следующими способами.- Укажите целое значение в формате
export AIX_STDBUFSZ=1024 - Укажите шестнадцатеричное значение в формате
export AIX_STDBUFSZ=0x400
- Ограничения: минимальное значение - 64 байт, максимальное значение - 127 МБ.
- Недопустимые целые числа за пределами этих ограничений заменяются на ближайшее допустимое значение.
- Если значение не кратно двум, то оно округляется до ближайшего четного числа в меньшую сторону.
- Если значение параметра
AIX_STDBUFSZнедопустимо, то оно игнорируется.
- Укажите целое значение в формате
- AIX_LDSYM
Флаг Дескриптор Назначение: Информация об исходной строке в файле Lightweight_coreне отображается по умолчанию, если размер страницы текста равен 64 КБ. Если размер страницы текста равен 64 КБ, то информацию об исходной строке в файлеLightweight_coreможно получить с помощью переменной средыAIX_LDSYM=ON.Значения: По умолчанию: Нет. Допустимые значения: ON.
Просмотр: echo $ AIX_LDSYM Изменение: export AIX_LDSYM=ON В данной оболочке изменения вступают в силу немедленно. Изменение действительно до выхода из оболочки. Для того чтобы сделать изменение системы постоянным, добавьте переменную среды
AIX_LDSYM=ONв файл /etc/environment.Рекомендации: нет Настройка: Этот параметр можно использовать для приложений с размером страницы текста 64 КБ с целью получения информации об исходной строке в файле
Lighweight_core.