怎么确认某个进程有没有出现内存泄漏

是今天和朋友讨论的问题,用free看到的内存在减少,但是看/proc/meminfo 的可用内存却没有减少,但是实际情况是他们的应用跑着跑着内存最后就消耗完了,难搞的是复现需要十来天。
meminfo里面的memavailable 属性表示的是可以用的内存大小,它是估计出来的值,并不是一个准确值。
那如果我想确认某个进程有没有出现内存泄漏,我要怎么确认? 这类问题我一般是遇到的时候才会去分析,进程一般会有自己的进程号,比较简单的办法就是用top -p 进程号判断。
也可以去看/proc//status 里面的vmrss属性
实例:
运行:
gcc memory.c && a.out
查看属性:
free 看到的内存信息是从meminfo里面解析出来的,所以要看系统的具体内存占用,还是要看meminfo,但是meminfo里面有很多很多属性,很少有人能够非常明白的说明清楚。
我尝试说下几个通常见到的  
memtotal
这是内存条大小的容量,但是我们往往看到这个值和我们的内存条大小不同,比如,硬件设计的时候告诉我们使用的内存条大小是2gb,实际上这里可能不是2gb,那是因为系统是开机的时候在bootloader,或者其他部分占用了一部分。
memfree
系统剩余内存大小,memtotal - memfree 就是已经使用的内存大小。
memavailable
这是一个估算值,并不是精确值。
我们看到的剩余内存memfree大小,并不是我们系统应用程序可以分配的内存大小,系统中存在的缓存cache/buffer、slab回收内存系统可以从其他地方抠一些内存出来再加上memfree就等于memavailable,应用程序就可以判断这个数值判断自己应该申请的内存空间。


干货!金丝键合射频互连线特性分析
IC创新趋向定制化 个性化芯片成趋势
ADC电源噪声:PSRR和PSMR
闪存迎来高速发展的时期,闪存助力行业客户发展
Innovasic将要开始生产Am188ER嵌入式处理器
怎么确认某个进程有没有出现内存泄漏
pcb板有哪些不良现象?pcb常见不良原因及分析
魅族flyme6内测最新情报汇总
蓝景光电LED智能标识照明解决方案:防爆节能
中国电信已确定9月份率先开始5G正式商用资费将从199元至599元不等
6月动力电池装机量榜单出炉,三元电池仍占绝对优势
30MHz至2000MHz宽带下变频器设计
分享一种定频柜机E1高压保护案例
福建铁塔与运营商携手助推福建省5G网络规模覆盖
RFID技术在服装供应链管理系统中的应用
浅谈光伏配电箱的那些事儿
液位传感器在植保无人机药箱液位监测的应用
荣耀9什么时候上市最新消息:疑似荣耀9谍照现身,配置强劲,对彪小米6
小米MAX2用骁龙626?红米Pro2首发骁龙660!
海泰方圆斩获第二届密码丰会“成长力企业奖”“创新力企业奖”