• runtime/cgo: pthread_create failed: Resource temporarily unavailable


    用户执行docker ps后,报错:

    $ docker ps

    runtime/cgo: pthread_create failed: Resource temporarily unavailable

    SIGABRT: abort

    PC=0x7efca7dad387 m=0 sigcode=18446744073709551610

    goroutine 0 [idle]:

    runtime: unknown pc 0x7efca7dad387

    stack: frame={sp:0x7ffdbda3a6c8, fp:0x0} stack=[0x7ffdbd23ba98,0x7ffdbda3aad0)

    00007ffdbda3a5c8:  000055af6e558e7f <runtime.(*mheap).growAddSpan+271>  00007ffdbda3a600 

    00007ffdbda3a5d8:  000055af6e54fe0e <runtime.(*mTreap).end+78>  0000000000000000 

    00007ffdbda3a5e8:  00007efc00000001  0000000000000000 

    00007ffdbda3a5f8:  00007ffdbda3a630  000055af6e57e7d7 <runtime.step+327> 

    00007ffdbda3a608:  000055af708fbdf2  0000000000d08e00 

    00007ffdbda3a618:  0000000000d08e00  00007ffdbda3a658 

    00007ffdbda3a628:  000055af6e57e7a3 <runtime.step+275>  00007ffdbda3a6d8 

    00007ffdbda3a638:  000055af6e57daba <runtime.pcvalue+346>  000055af70918a3f 

    ......

    这里有一行报错是,runtime/cgo: pthread_create failed: Resource temporarily unavailable,

    即资源缺乏。

    我尝试用limit -u 10000来扩大用户的限制参数,再次执行docker ps后不再报错。

    说明这个处理方法是对的,但这是临时的,要想长期保持,需要更改配置文件。

    1. 在文件/etc/security/limits.d/20-nproc.conf末尾添加

    renyi      soft    nproc     60000

    2. 在/etc/security/limits.conf末尾添加

    renyi soft nproc 65535

    renyi hard nproc 65535

    renyi soft nofile 60000

    renyi hard nofile 65535

    如此,可以永久性的解决资源匮乏问题。

    附注:nproc:示意max number of processes
    nofile:示意max number of open file descriptors
    hard与soft:soft是一个警告值,而hard则是一个真正意义的阀值,超过改值就会报错。

    结束。

  • 相关阅读:
    用户交互语句
    基础数据类型补充与总结
    Python 中表示 False 的方法
    集合
    字典
    元组
    列表
    整型数据详述和进制转换
    f-strings 详解
    字符串方法详解
  • 原文地址:https://www.cnblogs.com/liusingbon/p/14430405.html
Copyright © 2020-2023  润新知