V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
6260628
V2EX  ›  程序员

求教: Linux 为什么限制线程数?TCP 连接数等

  •  
  •   6260628 · 2019-07-09 11:29:32 +08:00 · 3137 次点击
    这是一个创建于 1966 天前的主题,其中的信息可能已经有所发展或是发生改变。

    google 了几篇文章,全是上来直接教你改这些数据的文章,但是系统为什么有这个限制,以即改完之后会有什么影响,这些参数应该参考什么进行改完全没有,希望大神可以帮忙解答一下,感谢

    10 条回复    2019-07-09 16:35:39 +08:00
    6260628
        1
    6260628  
    OP
       2019-07-09 11:30:33 +08:00
    还是我搜的关键字不对.... 麻烦有经典文章的同学帮忙贴出来
    Sanko
        2
    Sanko  
       2019-07-09 11:36:19 +08:00 via Android
    假如有 10w 个线程,怎么调度?
    pkookp8
        3
    pkookp8  
       2019-07-09 11:39:19 +08:00 via Android
    物理内存是有限的,越是修改线程栈空间大小,就会越发现物理内存是有限的。除非加内存
    lihongjie0209
        4
    lihongjie0209  
       2019-07-09 11:39:35 +08:00
    你觉得汽车为什么要限制人数
    6260628
        5
    6260628  
    OP
       2019-07-09 11:41:41 +08:00
    我知道限制肯定有限制的原因? 我想知道这里的道理和前因后果,跟据多大的内存有多少线程的限制,什么情况下我应该如何调整
    vanxy
        6
    vanxy  
       2019-07-09 11:45:17 +08:00   ❤️ 1
    https://stackoverflow.com/questions/344203/maximum-number-of-threads-per-process-in-linux

    大致意思是最大线程数是由最大内存控制的。
    反过来看, 限制最大线程的原因就是因为内存有限啊
    Youen
        7
    Youen  
       2019-07-09 11:46:38 +08:00   ❤️ 1
    wodexiaogou
        8
    wodexiaogou  
       2019-07-09 11:57:03 +08:00   ❤️ 1
    线程越多,进程占用资源越多,会导致系统资源耗尽直接宕机,所以要限制。
    大佬级别的会根据应用运行状况进行参数调配,让系统在正常情况下发挥最大的功能,这也就是系统调优软件调优了。
    再比如 Linux 有个著名的 fock 炸弹,它就是无限制生成子线程,无限制消耗系统资源,最终导致系统崩溃。
    :(){:|:&};:
    就是这个,可以在虚拟机上用普通账号测试,因为普通账号会对资源进行限制,当然也可能因为系统资源太小导致还没达到限制级别,自己就先崩溃了。
    6260628
        9
    6260628  
    OP
       2019-07-09 12:05:09 +08:00
    @Youen 看了您这篇文章让我恍然大悟,这些线程数据 /TCP 连接数量要跟据,系统运行的服务所做的事情到底是计算密集型和还是 IO 密集型来做一些平衡,居然参数要对该 linux 系统上运行的服务所做的事情架构要有清晰的了解,如果这个机器只是做 TCP 请求的转发,这时我应该把线程数和 TCP 连接数调大,至于多大,要在测试环境中做一个压力测试,如果我不仅是做 tCP 请求转发,而且对转发的数据做了一些处理,这时我就应该考虑把线程数调小一些,使线程切换的开销不会影响到性能,关键点:对 linux 跑的服务了解、性能测试
    fghjghf
        10
    fghjghf  
       2019-07-09 16:35:39 +08:00
    tcp 的 listen(全连接+半连接)。在 Linux 下是没有限制对,除非内存爆了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3254 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 12:55 · PVG 20:55 · LAX 04:55 · JFK 07:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.