美文网首页
linux max_threads参数计算

linux max_threads参数计算

作者: 至垚 | 来源:发表于2018-06-01 15:47 被阅读0次

内核threads线程数是一定的,具体是跟机器内存有关系
部分参数获取方法
PAGE_SIZE:getconf PAGE_SIZE 单位byte
THREAD_SIZE:ulimit -s

额定具体计算如下
max_threads = mempages / (THREAD_SIZE/PAGE_SIZE) / 8

mempages计算
mempages = 物理内存大小/PAGE_SIZE

例如:32G内存
mempages = 32174 * 1024 * 1024/4*1024 = 8236544

max_threads = 8236544/(81024)/(41024)/8 = 514784

因为为了保证每个用户进程总数不至于超过一半内存fork_init()指定:
init_task.rlim[RLIMIT_NPROC].rlim_cur = max_threads/2;
init_task.rlim[RLIMIT_NPROC].rlim_max = max_threads/2;

即物理额定线程数为514784/2=257392

相关文章

网友评论

      本文标题:linux max_threads参数计算

      本文链接:https://www.haomeiwen.com/subject/gqrksftx.html