Python:Can';不能启动新线程,但有足够的系统资源
尝试启动python线程时,我在Python:Can';不能启动新线程,但有足够的系统资源,python,multithreading,Python,Multithreading,尝试启动python线程时,我在threading.py:745中遇到错误:无法启动新线程。但是,我有大量可用的系统资源,因此我不确定问题出在哪里。有什么见解吗 看起来整个系统大约有4000个线程,远远低于系统限制: $ # Current Number of Threads: $ ps -fLA|wc -l 3996 $ # Max system threads $ cat /proc/sys/kernel/threads-max 261270 我有足够的磁盘空间: $ df -h Fil
threading.py:745
中遇到错误:无法启动新线程。但是,我有大量可用的系统资源,因此我不确定问题出在哪里。有什么见解吗
看起来整个系统大约有4000个线程,远远低于系统限制:
$ # Current Number of Threads:
$ ps -fLA|wc -l
3996
$ # Max system threads
$ cat /proc/sys/kernel/threads-max
261270
我有足够的磁盘空间:
$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 16G 0 16G 0% /dev
tmpfs 3.2G 13M 3.2G 1% /run
/dev/sda1 20G 8.5G 11G 46% /
tmpfs 16G 0 16G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 16G 0 16G 0% /sys/fs/cgroup
以及RAM,从顶部:
top - 01:10:29 up 1:01, 1 user, load average: 0.42, 0.80, 1.05
Tasks: 213 total, 2 running, 211 sleeping, 0 stopped, 0 zombie
%Cpu(s): 12.8 us, 2.1 sy, 0.0 ni, 84.5 id, 0.0 wa, 0.0 hi, 0.6 si, 0.0 st
MiB Mem : 32683.09+total, 14809.33+free, 13929.25+used, 3944.500
任何其他可能导致此问题的资源?当您收到此错误时,您将启动多少个线程?试试threading.active\u count()
我一次只启动一个threading.active\u count()
大约是150。这只是一个预感,但您是否已经签出threading.py:745
以查看需要发生什么才能抛出错误?我的意思是,您研究过745行附近的threading.py
的内容吗?也许它可以给你一些线索,告诉你发生了什么。它调用一个C子程序:\u start\u new\u thread(self.\u bootstrap,())