我有一个运行了大约3个小时的脚本。如果我使用多重处理,则大约需要20分钟。问题是内存。
说脚本中有10个任务。如果我在单个内核上运行它,它将一直持续下去。但是,如果使用多处理,则必须中途停止以释放内存,然后手动启动后半部分。
我尝试使用垃圾collect
,并使用类似popen
的方法,但这无济于事。
我正在pycharm中运行脚本。不确定这对内存的处理方式是否重要。
我有32GB的RAM。脚本启动时,我已经在使用6GB。我正在运行64位Python 3.6。我有一个12核处理器。
我正在运行Windows,仅使用Pool
中的multiprocessing
。
内存不足将导致脚本炸弹。因此,我需要将其停止一半,然后从第二个一半重新开始。
问题是如何在不使用更少内核的情况下,通过使用多处理方式一直运行脚本?