nixp.ru v3.0

17 января 2017,
вторник,
03:48:27 MSK

DevOps с компанией «Флант»
Anarchist написал 17 сентября 2008 года в 13:59 (367 просмотров) Ведет себя как мужчина; открыл 258 тем в форуме, оставил 4097 комментариев на сайте.

Имеем FreeBSD 6.3

С собственно рулением ограничениями (sysctl -a) понятно: /etc/sysctl.conf или /boot/loader.conf (здесь для обновления значений необходима перезагрузка) всё понятно, то с вопросом что и куда рулить — не вполне.

Для примера возьмём переменную kern.maxfiles. Ругань на превышение лимита в логах читал. Отсюда вывод: ядро ведёт строгий учёт открытых файлов.

Вопрос: как можно получить доступ к значению ядрёного счётчика открытых файлов (и так, строго говоря, для всех переменных, показываемых sysctl)?

Anarchist
Anarchist
Как можно получить доступ к значению ядрёного счётчика открытых файлов (и так, строго говоря, для всех переменных, показываемых sysctl)?

Этот момент решается достаточно тривиально: необходимо установить sysutils/lsof (FAQ читать здесь).

# cd /usr/ports/sysutils/lsof
# make
# make install
# make clean

Ну и собственно считаем все открытые файлы

# lsof | wc -l

ЗЫ: Но это — частность (разруливается статистика не для всех параметров, ограничиваемых в ядре).

Для части других товарищи рекомендуют смотреть вывод

netstat -m

ЗЗЫ: Ахтунг здесь в том, что для сколько-нибудь старых (насколько я понял, возраст порядка полугода мягко говоря критичен) срезов портов хуй достанешь (строго говоря не совсем так, но есть шанс нарваться) исходники этого самого lsof_$VERSION.freebsd.

ecobeingecobeing.ru
Экология и вегетарианство на благо всем живым существам Планеты.