Go   发布时间:2022-04-09  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了golang program exceeds 10000-thread limit大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

Go程序出现panic

runtime: program exceeds 10000-thread limit
Fatal error: thread exhaustion

...

goroutIne 1120575 [runnable]:
syscall.Syscall(0x1,0x3,0xc4600fe000,0x96,0x0)
    /usr/local/go/src/syscall/asm_linux_amd64.s:18 +0x5
syscall.write(0x3,0x400,0x0,0xc46018da20,0x7)
    /usr/local/go/src/syscall/zsyscall_linux_amd64.go:1064 +0x55
syscall.Write(0x3,0x460422,0xedb6a0,0x1)
    /usr/local/go/src/syscall/syscall_unix.go:181 +0x49
os.(*FilE).write(0xc4200b4560,0xc46018dab0,0x42974e,0xc400000008)
    /usr/local/go/src/os/file_unix.go:186 +0x6c
os.(*FilE).Write(0xc4200b4560,0xb45cc6,0xf,0x96)
    /usr/local/go/src/os/file.go:142 +0x7c

...

这个问题是因为golang在执行syscall.Syscall的时候,会创建新的线程,当并发大的时候不断创建线程,导致线程数超过限制。

建议:

    @H_874_84@降低系统调用的并发 @H_874_84@使用SetMaxThreads增加线程阀值,但是不建议这样使用

大佬总结

以上是大佬教程为你收集整理的golang program exceeds 10000-thread limit全部内容,希望文章能够帮你解决golang program exceeds 10000-thread limit所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。