LINUX随笔十二 OpenBLAS blas_thread_init

【LINUX随笔十二 OpenBLAS blas_thread_init】千磨万击还坚劲,任尔东西南北风。这篇文章主要讲述LINUX随笔十二 OpenBLAS blas_thread_init相关的知识,希望能为你提供帮助。

```Bash
使用python跑入库脚本的时候报错:

OpenBLAS blas_thread_init: pthread_create failed for thread 11 of 16: Resource temporarily unavailable
OpenBLAS blas_thread_init: RLIMIT_NPROC 131072 current, 131072 max

原因是大量python进程卡住
先手动杀死卡住的python脚本 最简单的办法,直接重启服务器

相关的限制有 ulimit -a
max memory size :最大内存限制,在64位系统上通常都设置成unlimited
max user processes : 每用户总的最大进程数(包括线程)
virtual memory - 虚拟内存限制,在64位系统上通常都设置成unlimited

表示系统全局的总线程数限制。设置方式有:
运行时限制,临时生效
echo 999999 > /proc/sys/kernel/threads-max
修改/etc/sysctl.conf,永久生效
sys.kernel.threads-max = 999999

表示系统全局的PID号数值的限制。设置方式有:
运行时限制,临时生效
echo 999999 > /proc/sys/kernel/pid_max
修改/etc/sysctl.conf,永久生效
sys.kernel.pid_max = 999999

表示单个进程所能使用内存映射空间的数量限制。设置方式有:
方式1 运行时限制,临时生效
echo 999999 > /proc/sys/vm/max_map_count
方式2 修改/etc/sysctl.conf,永久生效
sys.vm.max_map_count = 999999
在其他资源可用的情况下,单个vm能开启的最大线程数是这个值的一半,可以通过cat /proc/PID/maps | wc -l查看目前使用的映射数量。

```


    推荐阅读