【问题标题】:Erlang: How to limit the memory assigned to a processErlang:如何限制分配给进程的内存
【发布时间】:2012-11-21 21:09:19
【问题描述】:

我要问的是是否可以限制分配给特定进程的内存(堆或堆栈),以便该进程不能超过它。 可能类似于“process_flag(min_heap_size, MinHeapSize)”,但对于最大堆。

【问题讨论】:

  • 我认为现在不可能。

标签: erlang heap-memory stack-memory memory-limit


【解决方案1】:

您可以将某种进程跟踪 gen_server 放在一起,它会定期检查分配的进程的内存占用情况,如果超过一定数量则终止它们。

结合使用process_info(Pid, memory).exit(Pid, Reason) 调用,这应该很容易管理。

【讨论】:

  • 这就是我所做的 :-) 我每 2 秒检查一次,但在 2 秒内一切都会发生!
【解决方案2】:

您可以将spawn_optmax_heap_size 一起使用

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-08-22
    • 1970-01-01
    • 1970-01-01
    • 2017-08-01
    • 2010-12-26
    • 2012-08-29
    • 2014-08-05
    • 2012-03-10
    相关资源
    最近更新 更多