sysctl

Получение или установка статуса менеджера сокетов

Синтаксис:

sysctl [-n] имя...


sysctl [-n] -w имя=значение...


sysctl [-n] -a|A

Поддерживаемые платформы:

Neutrino

Опции:

-a

Вывести все строчные или целочисленные значения, доступные в настоящее время.

-A

Вывести все известные имена MIB, включая таблицы. Имена со строковыми или целочисленными значениями выводятся в виде, аналогичном виду при использовании опции -a; для табличных значений выводится имя утилиты, позволяющей получить их.

-n

Подавлять вывод имени поля, выводить только его значение. Эту опцию удобно использовать при установке переменных командного интерпретатора. Например, для сохранения значения IP TTL в переменной ipttl необходимо ввести следующую команду:

set ipttl=`sysctl -n net.inet.ip.ttl`

-w имя=значение


Установить значение для данного имени MIB.

Описание:

Утилита sysctl извлекает статус менеджера сокетов и позволяет изменять его процессам с соответствующими полномочиями. Извлекаемая или устанавливаемая переменная описывается именем стандарта MIB (Management Information Base), в форме набора компонентов, разделенных точками.

Предоставляемая утилитой sysctl информация содержит целочисленные, строчные и табличные значения. Табличную информацию можно извлекать только посредством специальных программ, таких как arp и netstat.

Набор доступных переменных зависит от выполняемых на компьютере программ; в нижеследующей таблице приведены наиболее востребованные из них. Для получения информации о значении других переменных см. описание sysctl() в руководстве по библиотекам Neutrino Library Reference.

Процесс с соответствующими полномочиями может изменять значения всех этих переменных, кроме тех, которые отмеченных как предназначенные только для чтения. Все значения являются целочисленным, если не указано иное.

kern.clockrate (только для чтения)

Значение struct clockinfo, включающее в себя тактовую частоту, статистическую частоту и профильную тактовую частоту, число микросекунд на такт Гц и величину сдвига тактовых сигналов.

kern.mbuf.mblowat

Нижняя контрольная отметка mbuf.

kern.mbuf.mclbytes

Размер кластера mbuf.

kern.mbuf.mcllowat

Нижняя контрольная отметка кластера mbuf.

kern.mbuf.msize

Базовый размер mbuf.

kern.mbuf.nmbclusters

Предельное число кластеров mbuf. Этот предел можно только увеличивать; кроме того, это возможно только на компьютерах с непосредственным отображением страниц пула.

kern.sbmax

Максимальный размер буфера сокетов.

net.inet.arp.down

Срок существования ошибочной записи ARP.

net.inet.arp.keep

Срок существования действительной записи ARP.

net.inet.arp.prune

Интервал усечения кэша ARP.

net.inet.arp.refresh

Интервал обновления протокола ARP.

net.inet.ip.allowsrcrt

Пропускать (1) или отбрасывать (0) все пакеты с маршрутом от источника.

net.inet.ip.directed-broadcast

Включить (1) или выключить (0) направленную широковещательную передачу.

net.inet.ip.do_loopback_cksum

Вычислять (1) или не вычислять (0) контрольные суммы для замыкания на себя.

net.inet.ip.forwarding

Выключить (0) или включить (1) перенаправление IP. Если включено, хост функционирует как маршрутизатор.

net.inet.ip.forwsrcrt

Перенаправлять пакеты с маршрутизацией от источника.

net.inet.ip.maxflows

Максимальное количество потоков IP.

net.inet.ip.mtudisc

Разрешить (1) или запретить (0) обнаружение MTU сетевого тракта.

net.inet.ip.redirect

Разрешить (1) или запретить (0) посылку перенаправлений ICMP при перенаправлении. Если хост не осуществляет маршрутизацию IP-пакетов, эта опция игнорируется. Как правило, эта опция должна быть включена во всех системах.

net.inet.ip.subnetsarelocal

Обрабатывать (1) или не обрабатывать (0) подсети как локальные адреса.

net.inet.ip.ttl

Предельное время существования (число переходов) для IP-пакета, источником которого является система. Это значение относится к стандартным транспортным протоколам (не к ICMP).

net.inet.tcp.congctl.available

Строка, содержащая доступные алгоритмы управления перегрузкой TCP.

net.inet.tcp.congctl.selected

Строка, содержащая имя текущего выбранного алгоритма управления перегрузкой TCP.

net.inet.tcp.do_loopback_cksum

Вычислять (1) или не вычислять (0) контрольные суммы для замыкания на себя.

net.inet.tcp.keepcnt

Число сообщений "keepalive".

net.inet.tcp.keepidle

Время неактивности "keepalive" в миллисекундах.

net.inet.tcp.keepintvl

Интервал посылки сообщений "keepalive" в миллисекундах.

net.inet.tcp.mssdflt

Максимальный размер сегмента по умолчанию.

net.inet.tcp.recvspace

Размер приемного буфера по умолчанию.

net.inet.tcp.sack.enable

Включить (1) или выключить (0) выборочные подтверждения RFC 2018 ("Selective ACKnowledgements").

net.inet.tcp.sack.globalholes (только для чтения)

Общее число пустых интервалов TCP SACK.

net.inet.tcp.sack.globalmaxholes

Максимальное общее число пустых интервалов TCP SACK.

net.inet.tcp.sack.maxholes

Максимально допустимое общее число пустых интервалов TCP SACK на одно соединение.

net.inet.tcp.sendspace

Размер буфера передачи по умолчанию.

net.inet.tcp.slowhz (только для чтения)

Единицы значений tcp.keepidle и tcp.keepintvl; значения этих переменных указываются в тактах часов, гененрирующих число тактов в секунду, равное значению tcp.slowhz. (Таким образом, для получения числа тактов в секунду их значения следует делить на значение tcp.slowhz.)

net.inet.tcp.win_scale

Масштабирование окна RFC 1323.

net.inet.udp.do_loopback_cksum

Вычислять (1) или не вычислять (0) контрольные суммы для замыкания на себя.

net.inet.udp.recvspace

Размер приемного буфера по умолчанию.

net.inet.udp.sendspace

Размер буфера передачи по умолчанию.

net.inet6.ip6.forwarding

Выключить (0) или включить (1) перенаправление IP. Если включено, хост функционирует как маршрутизатор.

net.inet6.ip6.redirect

Разрешить (1) или запретить (0) посылку перенаправлений ICMP при перенаправлении. Если хост не осуществляет маршрутизацию IP-пакетов, эта опция игнорируется. Как правило, эта опция должна быть включена во всех системах.

net.inet6.tcp6.do_loopback_cksum

Вычислять (1) или не вычислять (0) контрольные суммы для замыкания на себя.

net.inet6.tcp6.keepcnt

Число сообщений "keepalive".

net.inet6.tcp6.keepidle

Время неактивности "keepalive" в миллисекундах.

net.inet6.tcp6.keepintvl

Интервал посылки сообщений "keepalive" в миллисекундах.

net.inet6.tcp6.recvspace

Размер приемного буфера по умолчанию.

net.inet6.tcp6.sack.enable

Включить (1) или выключить (0) выборочные подтверждения RFC 2018 ("Selective ACKnowledgements").

net.inet6.tcp6.sack.globalholes (только для чтения)

Общее число пустых интервалов TCP SACK.

net.inet6.tcp6.sack.globalmaxholes

Максимальное общее число пустых интервалов TCP SACK.

net.inet6.tcp6.sack.maxholes

Максимально допустимое общее число пустых интервалов TCP SACK на одно соединение.

net.inet6.tcp6.sendspace

Размер буфера передачи по умолчанию.

net.inet6.tcp6.slowhz (только для чтения)

Единицы значений tcp.keepidle и tcp.keepintvl; значения этих переменных указываются в тактах часов, гененрирующих число тактов в секунду, равное значению tcp.slowhz. (Таким образом, для получения числа тактов в секунду их значения следует делить на значение tcp.slowhz.)

net.inet6.udp6.do_loopback_cksum

Вычислять (1) или не вычислять (0) контрольные суммы для замыкания на себя.

net.inet6.udp6.recvspace

Размер приемного буфера по умолчанию.

net.inet6.udp6.sendspace

Размер буфера передачи по умолчанию.

Примеры:

Проверка, активирована ли проверка контрольной суммы UDP:

sysctl net.inet.udp.checksum


Примечание. Деактивация проверки контрольных сумм UDP настоятельно не рекомендуется.

Активация перенаправления IP (хост будет работать в режиме маршрутизатора):

sysctl -w net.inet.ip.forwarding=1