如何在linux下检测内存泄漏

如何在linux下检测内存泄漏,第1张

是不是说没有一种内存检查工具能够在linux使用呢,也不是,像valgrind工具还是相当不错的。他的下载地址是 下载一个valgrind 3.2.3 (tar.bz2) 工具,按照里面的README提示,安装后就可以使用这个工具来检测内存泄露和内存越界等。这是一个没有界面的内存检测工具,安装后,输入valgrind ls -l 验证一下该工具是否工作正常(这是README里面的方法,实际上是验证一下对ls -l命令的内存检测),如果你看到一堆的信息说明你的工具可以使用了。 在编译你的程序时,请设置-g参数,编译出后使用如下的命令来判断你的程序存在内存泄露: valgrind --tools=memcheck --leak-check=full yourProg在输出信息中就会看到你的内存问题了。

内存溢出是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;比如申请了一个integer,但给它存了long才能存下的数,那就是内存溢出。 当内存严重不足时,内核有两种选择: 1.直接panic 2.杀掉部分进程,释放一些内核。

这个是内存溢出的意思,你跑的是什么应用。先看看你的系统是多大内存,你的swap 分区分有多大。然后在看你的应用设置的是多少。内存溢出有可能是你的设置不当造成的。当然如果是硬件配置不够也是要更新配置的。Linux更改的技术建议参考《Linux就该这样学》,Linux的道路很长,贵在 练习。加油吧


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8737724.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-20
下一篇 2023-04-20

发表评论

登录后才能评论

评论列表(0条)

保存