zoukankan      html  css  js  c++  java
  • 性能测试培训:分析内训泄露的案例

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

     

       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
  • 相关阅读:
    09-2:跳台阶
    09:菲波那切数列
    08:旋转数组的最小值
    07:用两个栈实现队列
    06:重建二叉树
    05:从尾到头打印链表
    04:替换字符
    centos7安装Jenkins更改默认端口并配置Ldap服务器进行用户认证
    Jira配置openLdap服务器进行用户认证
    定时自动从FTP服务器取数据脚本
  • 原文地址:https://www.cnblogs.com/poptest/p/4876562.html
Copyright © 2011-2022 走看看