Linux内存泄漏查询方法__proc/pid/status深入解释理解

在测试,特别是性能测试或者系统的稳定性测试中,内存的使用情况是一个很重要的监控点,不管是从资源使用的角度还是从发现内存泄露问题的角度。


如果笼统的来看,大概就是两个指标,系统的内存使用率和进程使用的内存。但是现实世界的事情往往没有那么简单,稍微细一点来看其实有很多的科目。本文不是一个全面的关于内存使用的探讨,甚至也不是一个详细的Linux下面进程内存使用情况的分析,尽管这里的实践是基于此的。

这里想做的是稍微细节一点的来看Linux下一个进程的内存使用情况,包括栈和堆。

首先我们从一个简单的C程序开始。且慢,先说一下我试验的环境。
platform: CentOS release 5.6 (Final) Linux localhost.localdomain 2.6.18-238.19.1.el5xen #1 SMP Fri Jul 15 08:57:45 EDT 2011 i686 i686 i386 GNU/Linux

gcc version 4.1.2 20080704 (Red Hat 4.1.2-50)


[root@localhost test]# cat simple_hello.c
#include <stdio.h>

int main()
{
int i,m = 1024, n = 0, x;
int a[m];

printf("assign %d values to a[%d]...\n", n, m);

for (i = 0; i < n; i++)
{
a[i] = 100;
}

printf("value assigned.\n");
scanf("%d", &x); /* to hold program.. */
return 0;
}

真是一个很简单的程序,只比hello world复杂一点点。创建一个静态的数组,长度通过m来控制,然后选择性的给部分或者全部的元素赋值,通过n来控制。好吧,这个一个简单的程序能看出什么呢?那我们一起来看看。

在Linux下面,查看一个进程的内存使用我们可以下面的命令来实现,只需把其中的[pid]换成进程实际的
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值