Получение или установка статуса менеджера сокетов
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
| Деактивация проверки контрольных сумм UDP настоятельно не рекомендуется. |
Активация перенаправления IP (хост будет работать в режиме маршрутизатора):
sysctl -w net.inet.ip.forwarding=1
Базовые подсистемы ЗОСРВ «Нейтрино»
arp, netstat
sysctl()
Предыдущий раздел: Утилиты