Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1570552
  • 博文数量: 596
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 173
  • 用 户 组: 普通用户
  • 注册时间: 2016-07-06 15:50
个人简介

在线笔记

文章分类

全部博文(596)

文章存档

2016年(1)

2015年(104)

2014年(228)

2013年(226)

2012年(26)

2011年(11)

分类: 云计算

2013-11-08 13:07:43

linux
查看/proc/pid/smaps,看heap总共用了多少,要是比预期用多了,就存在内存泄露的可能

1. 内存是否全部释放
a)正常启动程序,
b)正常关闭程序
查看是否有内存泄露


2. 异常情况下,中断程序
a)正常启动程序,
b)异常关闭程序
查看是否有内存泄露


3. 存在cache等干扰,
关闭cache


4. valgrind 显示解析
==19602== HEAP SUMMARY:
==19602==     in use at exit: 3 bytes in 3 blocks
==19602==   total heap usage: 1,000 allocs, 997 frees, 1,000 bytes allocated




1 bytes = sizeof(char),即一个字节
1K = 1000字节
1M = 1000 * 1000 字节
1G = 1000 * 1000 * 1000字节


解析例子
==22277== HEAP SUMMARY:
==22277==     in use at exit: 3,000,000 bytes in 3 blocks
==22277==   total heap usage: 1,000 allocs, 997 frees, 1,000,000,000 bytes allocated
程序退出时,还有3M(3,000,000 bytes)没有释放


5. malloc申请一个字节
malloc(sizeof(char)) == malloc(1);
阅读(848) | 评论(0) | 转发(0) |
1

上一篇:LINUX 可变参数的使用

下一篇:valgrind小计

给主人留下些什么吧!~~