美文网首页
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