zoukankan      html  css  js  c++  java
  • 如何使用bcc的memleak分析内存泄露问题

    问题

    [root@ip-10-130-20-14 ~]# top
    top - 17:29:54 up 125 days, 21:11,  1 user,  load average: 73.07, 70.28, 68.11
    Tasks: 472 total,   1 running, 209 sleeping,   0 stopped,   0 zombie
    %Cpu(s): 80.8 us,  5.5 sy,  0.0 ni, 10.2 id,  0.0 wa,  0.0 hi,  3.5 si,  0.0 st
    KiB Mem : 52795657+total, 10496171+free, 41021644+used, 12778420 buff/cache
    KiB Swap: 13421772+total, 13421772+free,        0 used. 11037457+avail Mem
    
      PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
     1157 presto    20   0   16.5t  28.6g  31020 S  4156  5.7  27961:51 presto-server
     2267 root      20   0   16624   5380   1648 S  18.8  0.0  13569:51 cgrulesengd
    27866 root      20   0  160636   4784   3760 R  12.5  0.0   0:00.07 top
    

    怀疑 presto-server 存在内存泄露

    troubleshooting

    [root@ip-10-130-20-14 ~]# /usr/share/bcc/tools/memleak -p 1157
    Attaching to pid 1157, Ctrl+C to quit.
    Traceback (most recent call last):
      File "/usr/share/bcc/tools/memleak", line 449, in <module>
        attach_probes("malloc")
      File "/usr/share/bcc/tools/memleak", line 439, in attach_probes
        pid=pid)
      File "/usr/lib/python2.7/site-packages/bcc/__init__.py", line 1303, in attach_uprobe
        (path, addr) = BPF._check_path_symbol(name, sym, addr, pid, sym_off)
      File "/usr/lib/python2.7/site-packages/bcc/__init__.py", line 908, in _check_path_symbol
        raise Exception("could not determine address of symbol %s" % symname)
    Exception: could not determine address of symbol malloc
    

    直接指定pid,未必可以获取到malloc的symbal,需要,指定 glibc的动态库。

    [root@ip-10-130-20-14 ~]# /usr/share/bcc/tools/memleak -p 1157 -O /lib64/libc-2.17.so
    Attaching to pid 1157, Ctrl+C to quit.
    [17:30:05] Top 10 stacks with outstanding allocations:
    [17:30:10] Top 10 stacks with outstanding allocations:
    [17:30:15] Top 10 stacks with outstanding allocations:
    [17:30:20] Top 10 stacks with outstanding allocations:
    [17:30:25] Top 10 stacks with outstanding allocations:
    
    muahao@aliyun.com
  • 相关阅读:
    运输装备(codevs 1669)
    考前复习(codevs 2837)
    2014编程之美初赛第一场
    51系列小型操作系统精髓 简单实现
    数学----有趣的扑克牌《一》
    hadoop编程:分析CSDN注冊邮箱分布情况
    [动态规划]UVA437
    Swift学习笔记四:数组和字典
    [动态规划]UVA10285
    freemarker中的left_pad和right_pad
  • 原文地址:https://www.cnblogs.com/muahao/p/15157931.html
Copyright © 2011-2022 走看看