如何在OS X上运行硬内存限制的进程?

时间:2015-02-21 17:38:54

标签: macos memory profiling low-level

我实现的算法需要在4MB的硬内存限制下运行。

有没有办法以一种方式运行一个进程,如果它超过其内存限制就会被杀死?或者只是简单地分析它的分配,以便能够看到已经分配了多少内存?

2 个答案:

答案 0 :(得分:4)

我认为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

答案 1 :(得分:-2)

看看这个用brew安装coretools:     Timeout Command on Mac OS X? 然后使用gtimeout -m 4096 myscript