керн threads.max_threads_per_proc freebsd 7.2 не изменяется после перезагрузки

Вот способ, которым я всегда рекомендую установить самоподписанные сертификаты для вещей как это:

На клиентской машине: Пойдите для Запуска>, Выполнение... (если окна 7, Win + R)> вводит 'mmc' и совершает нападки, Входят. Когда MMC подходит, Файл> Добавляют/Удаляют Снимок В... и выбирают снимок 'Certificates' - в. Это попросит у Вас пользователя, компьютера, и т.д.... выберет локальный компьютер. Когда снимок - в загрузках, выберите Trusted Root folder, щелкните правой кнопкой в списке сертификатов, и выберите Tasks> Import... и УКАЖИТЕ что сертификат быть импортированными в Доверяемую Корневую папку. Не позволяйте ему решить, куда поместить его. Хорошо работает для меня.

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

1
задан 13 February 2014 в 07:51
3 ответа

Ну, прежде всего, спасибо за все ваши ответы. Они, конечно, все в порядке, но причина моей проблемы была немного глубже, в исходном коде ядра :)

Я пытаюсь объяснить свое решение шаг за шагом, что я нашел. So, like @citrin said kern.threads.max_threads_per_proc is needed to be set in sysctl.conf. But this doesn't help to change value more than 1500 (this is kernel max and defaul by the way). So, this is because there is another limit in system which overrides any of user defined values. I didn't know exactly where it is, so I tried to found something in kernel sources.

I found this value inside kernel sources: /usr/src/sys/kern/kern_thread.c. It contains code like this:

int max_threads_per_proc = 1500;
SYSCTL_INT(_kern_threads, OID_AUTO, max_threads_per_proc, CTLFLAG_RW,
&max_threads_per_proc, 0, "Limit on threads per proc");

I changed that value to 5000 and build new kernel with GENERIC configuration and installed it. There was a little surprise for me cause I had thread limit setted 4096 inside sysctl.conf, but the working value was 5000, like in sources. Хотя значения ядра каким-то образом переопределяют значения, определенные пользователем, это все еще вызывает вопросы, но сейчас моя проблема решена, лимит потоков был постоянно увеличен.

Еще раз спасибо за ваши ответы.

0
ответ дан 3 December 2019 в 21:21

Соблюдается ли ваш /boot/loader.conf ? loader.conf (5) утверждает, что /boot/loader.rc должен содержать следующие строки:

 include /boot/loader.4th
 start

/boot/loader.4th по очереди загружает ] /boot/defaults/loader.conf , который, в свою очередь, может загрузить /boot/loader.conf , если что-то вроде этого включено:

loader_conf_files="/boot/device.hints /boot/loader.conf /boot/loader.conf.local"
0
ответ дан 3 December 2019 в 21:21

Существует два разных метода настройки параметров ядра - параметры загрузчика и sysctl.

  1. Параметры загрузчика сохраняются в файле /boot/loader.conf - они экспортируются загрузчиком в среду ядра и имеют эффект во время загрузки ядра. После загрузки вы можете увидеть эти значения с помощью команды kenv . Эту среду можно изменить с помощью команды kenv, но это полезно только для файлов, которые читаются модулями ядра. E. g. вы можете установить kern.hwpmc.nbuffers = 32, а затем - модуль kldunload / kldload hwpmc. Но в целом после изменения /boot/loader.conf требуется перезагрузка.

  2. sysctl varuables. Многие значения sysctl можно изменить во время выполнения с помощью команды sysctl . Чтобы повторно применить изменения sysctl после перезагрузки, их можно сохранить в файле /etc/sysctl.conf.

Многие настройки загрузчика (но не все) имеют соответствующие доступные только для чтения sysctl с тем же именем. Но в целом между настройками загрузчика и sysctl не существует сопоставления 1: 1. E. g. у многих sysctl нет загрузчика, настраиваемого с таким же именем, и его нельзя изменить с помощью loader.conf.

kern.threads.max_threads_per_proc - это только sysctl и должен быть сохранен в /etc/sysctl.conf

2
ответ дан 3 December 2019 в 21:21

Теги

Похожие вопросы