为什么在Linux上导入numpy会增加1gb的虚拟内存?

2024-05-29 00:09:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我必须在只有几GB虚拟内存的资源受限环境中运行python。更糟糕的是,作为应用程序设计的一部分,我必须从主进程中派生子进程,所有子进程都会在fork上接收相同数量的虚拟内存的“写时拷贝”分配。结果是,在只分了1-2个孩子之后,这个过程组达到了最高点,关闭了所有的东西。最后,我不能删除numpy作为一个依赖项;这是一个严格的要求。在

关于如何降低初始内存分配有什么建议吗?在

例如

  1. 更改导入时分配给numpy的默认金额?在
  2. 禁用该功能并强制python/numpy更动态地分配?在


详细信息:

Red Hat Enterprise Linux Server 6.9版(圣地亚哥)
Python 3.6.2
数量=1.13.3

裸翻译:

import os
os.system('cat "/proc/{}/status"'.format(os.getpid()))

# ... VmRSS: 7300 kB
# ... VmData: 4348 kB
# ... VmSize: 129160 kB

import numpy
os.system('cat "/proc/{}/status"'.format(os.getpid()))

# ... VmRSS: 21020 kB
# ... VmData: 1003220 kB
# ... VmSize: 1247088 kB  

Tags: importnumpyformat数量kb进程osstatus

热门问题