MacOS 上的 Python 完全忽略 rlimit

标签 python macos resources setrlimit

我在 MacOS 上的 Python 进程完全忽略了我设置的 rlimits。 (我通过打印确认它们已被设置)

物理内存使用量超过 2.4Gb,此时 CPU 使用率下降 << 5% 并挂起。 (潜在的罪魁祸首似乎是 numpy 数组分配,但我无法强制 OutOfMemory 异常来查明位置,所以我被卡住了)。这是怎么回事?我以为不能忽略硬限制?

编辑:我突然想到,有问题的分配不是在原生 Python 中完成的,而是在 numpy 或 scikit-learn 中完成的。 .链接到 source of cpython:Modules/resource.c如果是这样,那将是一个明确的文档错误。

import resource
resource.setrlimit(resource.RLIMIT_AS,    (1*1048576L, 1.2*1048576L))
resource.setrlimit(resource.RLIMIT_DATA,  (1*1048576L, 1.1*1048576L))
resource.setrlimit(resource.RLIMIT_STACK, (100000, 120000))

版本:macOS 10.8.2 上的 python2.7.3(macports,64b),py27-numpy。

机器有 4Gb 物理内存。

最佳答案

根据 Chromium issue #853873 , macOS 不(至少在 2018 年中期) 尊重 RLIMIT_DATARLIMIT_AS

关于MacOS 上的 Python 完全忽略 rlimit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15633474/

相关文章:

python - 在条形图 matplotlib 中设置两个轴对数

java - 苹果电脑 : Menubar in IntelliJ IDEA not responding to clicks

swift - NSEvent 泄漏导致 macOS 中的按键按下

html - 如何通过 Swift 从 macOS 中的网页获取文本?

c# - 使用资源图像作为 RDLC 参数中的值

ruby-on-rails-3 - 为什么我的嵌套资源中出现 "no route matches [POST]"?

delphi - 带有资源文件的错误 EXE 应用程序图标

python - 线程数不影响磁盘读取速率?

python - 对二维数组进行排序时出现问题

python - 为什么TF-IDF的值和IDF_不一样?