sysctl

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

Синтаксис:

sysctl [-AabdeMnqrx] имя... 
sysctl [-AabdeMnqrx] -w имя=значение...
sysctl [-AabdeMnqrx] -f файл

Опции:

-a
Вывести все строчные или целочисленные значения, доступные в настоящее время.
-A
Вывести все известные имена MIB, включая таблицы. Имена со строковыми или целочисленными значениями выводятся в виде, аналогичном виду при использовании опции -a; для табличных значений выводится имя утилиты, позволяющей получить их.
-n
Подавлять вывод имени поля, выводить только его значение. Эту опцию удобно использовать при установке переменных командного интерпретатора. Например, для сохранения значения IP TTL в переменной ipttl необходимо ввести следующую команду:
set ipttl=`sysctl -n net.inet.ip.ttl`
-w имя=значение
Установить значение для данного имени MIB.
-e
Разделяет имя и значение переменной(ых) символом '='. Это полезно для получения вывода, который может быть передан обратно в утилиту sysctl. Эта опция игнорируется, если задано -n или если переменная устанавливается.
-d
Описания каждого из выбранных узлов будут напечатаны вместо их значений.
-f файл
Указывает имя файла для чтения и обработки. Пустые строки и комментарии (начинающиеся с '#') игнорируются. Продолжения строк допускаются продолжения строк с '\'. Оставшиеся строки обрабатываются аналогично аргументам командной строки вида name или name=value.
-M
Заставляет sysctl печатать MIB вместо любых фактических значений содержащихся в MIB. Это приводит к печати всей MIB если не заданы специальные аргументы MIB или файл -f.
-q
Используется для указания того, что ничего не должно печататься при чтении или записи, если не обнаружена ошибка. Это полезно только для проверки существования переменной.
-r
Необработанная форма вывода. Выводимые значения имеют необработанную двоичную форму в том виде, в котором они получены непосредственно из ядра. Некоторые дополнительные узлы, которые sysctl не может печатать напрямую, могут быть получены с помощью этого флага. Эта опция конфликтует с опцией -x.
-b
То же что и -r.
-x
Заставляет sysctl печатать запрашиваемое значение в шестнадцатеричном представлении. Эта опция конфликтует с опцией -r.

Платформы:

ЗОСРВ «Нейтрино»

Целевые архитектуры:

aarch64, arm, armv7, e2k, mips, ppc, x86

Описание:

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

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

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

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

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


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

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

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

Классификация:

Базовые подсистемы ЗОСРВ «Нейтрино»

Тематические ссылки:

arp, netstat

sysctl()




Предыдущий раздел: Утилиты