我如何 运行 一个在 OS X 上有硬内存限制的进程?
How can I run a process with a hard memory limit on OS X?
我正在实现一个算法,需要 运行 在 4MB 的硬内存限制下。
有没有办法 运行 一个进程在超出其内存限制时被杀死?或者只是简单地分析其分配情况,以便能够查看已分配的最大内存量?
看这个用 brew 安装 coretools:
Timeout Command on Mac OS X?
然后使用 gtimeout -m 4096 myscript
我认为 ulimit 就是您要找的:
https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man3/ulimit.3.html
虽然 ulimit 并非一直有效,但这里提到了限制进程系统资源的替代方法:
How to limit memory of a OS X program? ulimit -v neither -m are working
这里也有人问过同样的问题,所以这个问题可能会给问题带来一些启示,尤其是关于虚拟内存的问题:
https://apple.stackexchange.com/questions/43371/way-to-limit-how-much-ram-an-arbitrary-process-can-take-up
您可能会通过遵循此提示并使用 ulimit 来获得硬限制:
http://hints.macworld.com/article.php?story=201106020948369
我正在实现一个算法,需要 运行 在 4MB 的硬内存限制下。
有没有办法 运行 一个进程在超出其内存限制时被杀死?或者只是简单地分析其分配情况,以便能够查看已分配的最大内存量?
看这个用 brew 安装 coretools: Timeout Command on Mac OS X? 然后使用 gtimeout -m 4096 myscript
我认为 ulimit 就是您要找的: https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man3/ulimit.3.html
虽然 ulimit 并非一直有效,但这里提到了限制进程系统资源的替代方法: How to limit memory of a OS X program? ulimit -v neither -m are working
这里也有人问过同样的问题,所以这个问题可能会给问题带来一些启示,尤其是关于虚拟内存的问题: https://apple.stackexchange.com/questions/43371/way-to-limit-how-much-ram-an-arbitrary-process-can-take-up
您可能会通过遵循此提示并使用 ulimit 来获得硬限制: http://hints.macworld.com/article.php?story=201106020948369