赞
踩
1.内存泄漏
确定现象:
linux 内存泄漏,可以查看slabinfo 和另外一个proc下(貌似meminfo),关于内存的信息,可以看到内存是否在不断减少,以及减少的速度。
vxworks系统,内存是否有相关信息???
如果快速泄漏内存,则较容易判断。如果是非常慢的,则要经过一定时间场景复现后,应该也能看出来。
linux在内存耗光后,会有log打印。容易判断。vxworks待试验。
在确认存在内存泄漏后,如何确认泄漏源头?
malloc做修改,使其记录相关信息 ---- 当前是否此功能。没有就当没说。
复现场景。在什么场景下会泄漏,具体点,哪个任务在跑是会泄漏,由此确认。
【 具体方法补充】
Linux在内存使用上的原则是:如果内存充足,不用白不用,尽量使用内存来缓存一些文件,从而加快进程的运行速度,而当内存不足时,会通过相应的内存回收策略收回cache内存,供进程使用。
可通过对proc下进程相关的文件进行分析,精确评估系统消耗内存的大小,还可以对内存泄露类问题的解决提供一种定位手段。
一、系统总内存的分析
可以从proc目录下的meminfo文件了解到当前系统内存的使用情况汇总,其中可用的物理内存=memfree+buffers+cached,当memfree不够时,内核会通过回写机制(pdflush线程)把cached和buffered内存回写到后备存储器,从而释放相关内存供进程使用
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。