gpt4 book ai didi

memory - ocaml下检测内存是否不足

转载 作者:行者123 更新时间:2023-12-02 04:42:49 27 4
gpt4 key购买 nike

我需要一种方法来检测内存是否不足,以便我的 ocaml 程序可以对此使用react。你能告诉我如何实现或使用它吗?

有什么提示吗?

再见安德烈亚斯

最佳答案

如果您仅在堆内分配(您会知道是否在堆外分配),请使用 (Gc.quick_stat()).Gc.heap_words 获取堆的大小,这是 OCaml 使用的整个内存的一个很好的近似值。正如其名称所示,该字段以 32 位字或 64 位字表示。

您必须将此与 OCaml 无法为您猜测的某个限制进行比较,即您希望程序使用的最大内存。该值取决于您想要留给其他进程的内存量、您是否认为交换可接受等等。第二个值取决于您的系统,而不是 OCaml。即使您想将此值计算为计算机上 RAM 总量的固定分数,我也不知道使用 OCaml 是否有任何可移植的方法来执行此操作:您必须告诉我们有关您的系统的更多信息。

请勿尝试在 GC stats 中使用 free_words 和类似字段。这些仅告诉您如何在堆内划分空间。 “免费”一词仍然占据空间,垃圾收集器的作用是将这个值保持在总数的合理比例。为了做到这一点,它会调整堆的大小。

关于memory - ocaml下检测内存是否不足,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6250421/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com