性能测试培训:分析内训泄露的案例

性能测试培训:分析内训泄露的案例

 

   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标。在poptest的loadrunner的培训中,为了提高学员性能优化的经验,加入了很多服务器方面的优化知识,为性能调优的能力打下基础。(大家对课程感兴趣,请加qq:564202718)下面分享案例:

问题现象: 进程挂掉

导致原因:内存泄露
问题难度:分析难度大

方法:
系统介绍:服务端os是Linux,用C++开发。
1、确认进程退出原因是内存泄露
a.将退出的进程重启,然后通过命令确认是否启动。
进程名为:libDataToDb.so,命令查看:pe -ef | grep "libDataToDb",结果如下。
[root@localhost EventSievingbak]# ps -ef | grep VB
root 24669 1 0 10:07 pts/2 00:00:00 ./VBAdapter -n libDataToDb.so
b.业务流操作同时进行监控,跟踪进程的内存使用率(MEM%)的变化。
命令为:top -p 24669(进程id),
如果MEM%随着时间的增加不断在增加,就基本可以确定为内存泄露。
2、分析数据
一般可以通过两种方法设置。
方法一:进程退出后,命令行输入:ulimit -c unlimited,然后再重新启动该进程。
拷贝该进程所在的目录下core文件,里面记载着内存分配情况。
方法二: 进程退出后,通过valgrind工具来产生日志,具体如下
# cd /opt/SMP/DataToDb; //进入进程所在目录
# valgrind --log-file=crash.log --leak-check=full //设置日志文件
# ./VBAdapter -n libDataToDb.so >/dev/null 2>&1 //重新启动进程
拷贝/opt/SMP/DataToDb下crash.log文件。

 
原文链接:http://www.cnblogs.com/laoli0201

原文链接: https://www.cnblogs.com/poptest/p/4876562.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    性能测试培训:分析内训泄露的案例

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/223065

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月13日 上午11:57
下一篇 2023年2月13日 上午11:57

相关推荐