Linux 我如何知道流程';内存使用率

Linux 我如何知道流程';内存使用率,linux,memory,pid,proc,Linux,Memory,Pid,Proc,我现在试图分析进程的内存使用情况,进程是用C编写的。 我想知道流程分配的每个变量的大小和地址。 我知道/proc/PID/maps是了解这些事情的好方法,但我不知道它是否能向我显示我想知道的信息。 例如,如果C程序像这样分配内存, int i=10;或者像这个float*f=(float*)malloc(sizeof(float)),我想得到如下信息0x0000。。。4字节(用于整数i)和0x0000…(用于浮点*f)。 在我的例子中,如果地址是集成的,这不是问题。我的意思是我不在乎我是否声明了

我现在试图分析进程的内存使用情况,进程是用C编写的。 我想知道流程分配的每个变量的大小和地址。 我知道/proc/PID/maps是了解这些事情的好方法,但我不知道它是否能向我显示我想知道的信息。 例如,如果C程序像这样分配内存, int i=10;或者像这个float*f=(float*)malloc(sizeof(float)),我想得到如下信息0x0000。。。4字节(用于整数i)和0x0000…(用于浮点*f)。 在我的例子中,如果地址是集成的,这不是问题。我的意思是我不在乎我是否声明了两个变量,如下int I,j;,信息如下0x000。。。8字节(关于i和j的信息)。 有人知道进程的内存使用情况吗,或者知道如何理解/proc/PID/maps的含义吗

如果有人教我这些东西,我会很感激的

问候

附言:

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

对您很有用:

   Massif: a heap profiler

注意使用--pages作为堆来测量进程中的所有内存

非常感谢!!我试试看。