Категорії
Solaris

sysctl в Solaris

sysctl в Solaris отсутствует. Аналог есть, но он не один. Иными словами параметры разнесены по разным категориям и соответственно управляются через разные утилиты. И так, приступим к небольшому обзору.

Тестовый стенд: Solaris 10/11

1) Параметры ядра.

За них отвечает утилита kstat, которая без параметров выведет список всех параметров и их значений.  Это так сказать статистика ядра, то есть различнве значения в режиме RO и счётчики, которые со временем меняются. Очень удобно, к примеру, для отслеживания чего-либо. Каждый параметр имеет такую форму

module:instance:name:statistic

Если нужно вывести группу значений, то просто опускаем последний параметр.

Пример: узнать параметры страниц:

$kstat -n system_pages

2) Сетевые параметры.

Часть из них можно сделать с помощью утилиты ipadm set-prop/show-prop/reset-prop (соответственно имеют значение: установить/просмотреть/сбросить в дефолт).

Пример: изменить размер буфера

#ipadm set-prop -p max_buf=8388608 tcp

Здесь мы указали параметр ‘-p’, что означает на постоянной основе.

Но гораздо больше сетевых параметров можно изменить с помощью утилиты ndd.

Команда ndd имеет такой формат:

ndd [-set] устройство ?  | переменная [значение]

Устройства, с которыми работает команда ndd в Solaris

Устройство Описание Имена переменных
/dev/tcp Переменные протокола TCP tcp_*
/dev/udp Переменные протокола UDP udp_*
/dev/ip Переменные протокола IP ip_*
/dev/icmp Переменные протокола ICMP icmp_*
/dev/rawip То же, что /dev/icmp icmp_*
/dev/arp Переменные протокола ARP arp_*
/dev/hme Переменные Ethernet нет конкретной схемы

Пример:

#ndd -set /dev/tcp tcp_conn_grace_period 500

3) Остальные параметры.

Остальные параметры нужно прописывать в /etc/system и они применяются при загрузке системы. Но что делать, если нужно применить параметр прямо сейчас? Ответ – использовать отладчик mdb. Ему можно напрямую передать имя и значения параметра и он сразу применит его. Правда в сети ходят мнения, что это иногда может привести к зависанию или ребуту системы (но я сильно в этом сомневаюсь). Так же с помощью mdb можно не только установить, но и посмотреть текущее значение параметра.

Пример: посмотреть параметры zfs

#echo ::zfs_params | mdb -k

Пример: установить значение

#echo apic_timer_preferred_mode = 0x0 | mdb -k

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *

Домашняя страничка Andy
Записки молодого админа
Самостоятельная подготовка к Cisco CCNA
Самостоятельная подготовка к Cisco CCNP
Powered by Muff