Racket 中的内存消耗

Ben*_*man 3 multithreading memory-profiling racket

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

Lei*_*sen 5

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

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

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

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

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