在 MacOS 上计算每个进程的内存使用情况

Calculating Per Process Memory Usage on MacOS

我目前正在做一个小的副项目,我想添加一些关于 CPU 使用情况/内存使用情况/打开的 FDs 等的统计数据,但在每个进程级别。

我的 CPU 用法正常,但是我 运行 遇到的问题是内存。我找不到任何用于检索或计算内存使用情况的 API,类似于 'Activity Monitor' 在进程信息部分中的做法。

哪些 API 可用于计算 'Real/Virtual/Shared/Private' 内存使用量?我已经使用了 host_statistics() 但这只为我提供了我所知道的基本 VM 信息。我也调查了 task_info() 但这似乎也没有让我正在寻找的内存崩溃。

Apple 使 source code for the top utility 可用。至少,这应该可以帮助您了解如何访问它显示的所有进程信息。这确实包括一堆不同的内存统计信息。