如何衡量内存消耗情况?

发布于 2024-11-30 22:47:18 字数 325 浏览 2 评论 0原文

我想知道是否有一种有效的方法来测量特定 C 数据结构的实际内存消耗。

目标是根据对这些数据结构进行特定操作后内存使用情况的变化来制定基准。

我不寻求一种方法来计算正在使用的物体的数量;我确实想知道处于压力下的对象的内存使用量到底有多大。

是否有一种标准方法可以做到这一点,无论是在 C 代码中,还是从外部? (一些相当于 time (1) 实用程序将是一个开始)。

显然,我可以追踪每个指针并对所有 sizeof 进行求和。如果这是唯一的方法,请告诉我。我想知道是否有更简单的方法。或者也许有一个图书馆可以为我做这件事。

I would like to know if there is an efficient way to measure the actual memory consumption of a particular C data structure.

The goal being to make benchmarks based on how the memory usage changes after specific operations on those data structures.

I do not seek a way to count the number of objects in use; I do want to know exactly how big the memory usage of an object put under stress can get.

Is there a standard way to do that, either in C code, or from outside? (Some equivalent to the time (1) utility would be a start).

Obviously, I could track down every single pointer and do a sum of all sizeofs. If this is the only way, please do tell me. I wonder whether there is a simpler way. Or maybe a library to do it for me.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

丶情人眼里出诗心の 2024-12-07 22:47:18

如果您想在全局级别监控程序的内存使用情况,您可以用自己的函数替换 C++ 中的 new/delete 或 C 中的 malloc/free 并记录内存使用情况。

If you want to monitor the memory usage of the program on a global level you can replace new/delete in C++ or malloc/free in C with your own functions and log the memory usage.

场罚期间 2024-12-07 22:47:18

在 Unix 上,对于内存消耗,您可以使用 valgrind 和 Massif 工具(+任何可视化工具),但我不知道它是否适合您的问题,因为它会给您一个程序所有内存消耗的详细视图。

On Unix for memory consumption you can use valgrind with the tool Massif (+ any visualization tool), but I don't know if it is suited for your problem since it will give you a detailled view of all the memory consumption of your program.

欲拥i 2024-12-07 22:47:18

是的,cnicutar,在 Linux 上你有 pmap 甚至 pstat。

在 MS 上,有无数的 VStudio 分析工具,具体取决于您对 MS 计算机的贡献(甚至是用于 cmd 行使用的免费工具)。请叫我新手,我没有内存泄漏问题。

Yep, cnicutar, on Linux you have pmap or maybe even pstat.

On MS there are myriad profiling tools for VStudio depending on your contribution to the MS machine (even free ones for cmd line use). Call me a green horn, I don't have issues with memory leaks.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文