我有一个在许多机器上运行用户指定程序的Erlang系统。 它使用Erlang端口来运行这些程序。 有时程序会有内存泄漏,它们可能会冻结它们产生的整个机器。
我如何衡量,erlang端口正在使用多少内存?
不幸的是,erlang:memory / 0不包含端口内存。我应该使用os:cmd / 1调用ps内部然后解析其输出吗? 或者我在搜索时错过了更好的方法吗?
答案 0 :(得分:2)
我可以理解您希望在应用程序中处理此问题。但也许这样的问题最好通过设置ulimit
或setrlimit
来处理(假设你在* nix-machine上运行)?
如果您的操作系统有/proc
- 文件系统,您可以在那里查找有关您的进程的信息。