gpt4 book ai didi

linux - 我怎么知道进程的内存使用情况

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:34:26 30 4
gpt4 key购买 nike

我现在正在尝试分析进程的内存使用情况,进程是用 C 编写的。我想知道进程分配的每个变量的大小和地址。我知道/proc/PID/maps 是了解那些事情的好方法,但我不知道它是否可以向我显示我想知道的信息。例如,如果 C 程序这样分配内存,int i = 10; 或者像这样float* f = (float*)malloc(sizeof(float)),我想得到如下信息 0x0000... 4byte(对于 int i)和 0x0000...(对于 float* f)。就我而言,如果地址已集成,这不是问题。我的意思是我不在乎我是否像下面这样声明 2 个变量 int i,j;,并且信息如下 0x000... 8byte(信息关于 i 和 j)。有谁知道这些进程的内存使用情况或知道如何理解/proc/PID/maps 的含义?

如果有人教我这些东西,我将不胜感激。

问候。

附言:

我厌倦了 valgrind。这是一个很好的调试器,但我想处理来 self 的 C 代码的数据。是否有 valgrind 或其他工具的头文件?

最佳答案

Valgrind对你有用:

   Massif: a heap profiler

注意使用 --pages-as-heap 来测量进程中的所有内存

关于linux - 我怎么知道进程的内存使用情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22003492/

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