我想问的是,是否有可能限制分配给特定进程的内存(堆或栈),使该进程不能超过它。可能是类似于“process_flag(min_heap_size,MinHeapSize)"的东西,但针对的是最大堆。
svujldwt1#
您可以使用某种进程跟踪gen_server,它定期检查分配的进程的内存占用量,如果超过一定的量,则将其删除。使用process_info(Pid, memory).和exit(Pid, Reason)调用的组合,这应该是非常容易管理的。
process_info(Pid, memory).
exit(Pid, Reason)
t8e9dugd2#
可以将spawn_opt与max_heap_size一起使用
spawn_opt
max_heap_size
2条答案
按热度按时间svujldwt1#
您可以使用某种进程跟踪gen_server,它定期检查分配的进程的内存占用量,如果超过一定的量,则将其删除。
使用
process_info(Pid, memory).
和exit(Pid, Reason)
调用的组合,这应该是非常容易管理的。t8e9dugd2#
可以将
spawn_opt
与max_heap_size
一起使用