首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >重启后FreeBSD7.2 kern.threads.max_threads_per_proc不会改变

重启后FreeBSD7.2 kern.threads.max_threads_per_proc不会改变
EN

Server Fault用户
提问于 2014-02-13 05:51:26
回答 2查看 754关注 0票数 2

我的服务器机器上有一些基于FreeBSD 7.2的多线程应用程序,因此我需要将kern.threads.max_threads_per_proc提高到4000 (默认值为1500)。我使用"sysctl kern.threads.max_threads_per_proc=4096“对其进行了更改,它看起来很好,但是在重新启动之后,这个选项又有了默认值。我还尝试使用/boot/loader.conf,但它仍然返回到默认值。

这是loader.conf中包含的内容:

代码语言:javascript
复制
kern.maxdsiz=1073741824
kern.maxtsiz=1073741824
kern.maxssiz=268435456
kern.maxproc=10000
kern.maxprocperuid=9000
kern.threads.max_threads_per_proc=4000

即使在此设置下,"sysctl kern.threads.max_threads_per_proc“在重新启动后也会显示defalut值(1500)。

拜托,告诉我怎么才能永久改变这个?

EN

回答 2

Server Fault用户

回答已采纳

发布于 2014-02-17 06:21:48

首先谢谢你的回答。当然,它们都很好,但是我问题的原因更深一点,在内核源代码中:)

我试着一步一步地验证我的解决方案,我发现了什么。因此,就像@citrin所说的,kern.threads.max_threads_per_proc需要设置在sysctl.conf中。但这无助于改变超过1500的值(顺便说一句,这是内核max和defaul )。因此,这是因为系统中还有另一个覆盖任何用户定义值的限制。我不知道它的确切位置,所以我试图在内核源代码中找到一些东西。

我在内核源代码中找到了这个值:/usr/src/sys/kern/kern_thread.c。它包含如下代码:

代码语言:javascript
复制
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");

我将该值更改为5000,并构建了具有GENERIC配置的新内核并进行了安装。这让我有点惊讶,因为我在sysctl.conf中设置了4096的线程限制,但是工作值是5000,与源代码中的值一样。虽然内核值以某种方式覆盖了用户定义,所以,这仍然会引起问题,但是现在我的问题已经解决了,线程限制被永久地增加了。

再次感谢你的回答。

票数 1
EN

Server Fault用户

发布于 2014-02-14 09:43:13

有两种不同的方法来调优内核参数-加载器可调性和sysctl。

  1. 加载器可调保存在/ boot /loader.conf文件中-它们由加载程序导出到内核环境,并在内核启动时生效。引导之后,您可以通过kenv命令看到这个值。这个环境可以通过kenv命令进行更改,但这只对内核模块读取的tanables有用。例如,您可以将kern.hwpmc.nbuffers=32和than设置为kldunload/kldload hwpmc模块。但是,通常需要在/boot/loader.conf更改之后重新启动。
  2. sysctl变量许多sysctl值可以通过sysctl命令在运行时进行更改。要重新应用sysctl更改,可以将其保存在/etc/sysctl.conf文件中。

许多加载程序可调(但不是全部)都有相应的同名只读sysctl。但是通常在加载程序、可调对象和sysctls之间没有1:1的映射。例如,许多sysctl没有同名可调的加载程序,它们不能通过loader.conf进行更改。

kern.threads.max_threads_per_proc仅为sysctl,应该保存在/etc/sysctl.conf中。

票数 2
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/575243

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档