球拍中的内存消耗

Memory consumption in Racket

有没有一种简单的方法可以测量Racket程序的内存使用情况?我正在尝试 运行 多个并行程序,我想确保每个程序都有足够的 RAM。

有几种方法可以从 Racket 本身内部跟踪 Racket 程序使用的内存。

  1. current-memory-use 跟踪可访问的内存量。

  2. dump-memory-stats 打印当前错误端口的报告。它打印出的内容取决于您的安装。

  3. vector-set-performance-stats! 接受一个可变向量,并用程序的一堆运行时统计信息填充它,包括内存使用情况。甚至你无法从 current-memory-usage.

  4. 获得的内存使用情况

还有一些选项不使用 Racket 来跟踪内存。例如,top 命令可以显示您的 racket 进程使用了​​多少内存。如果您使用此技术,请小心确保您正在跟踪 racket 进程可能产生的所有子进程的内存。此外,根据您使用的OS,此技术会有很大差异。