美文网首页
Linux通用检测server进程内存泄漏的通用方法

Linux通用检测server进程内存泄漏的通用方法

作者: CodingCode | 来源:发表于2023-10-22 00:31 被阅读0次
  1. 拷贝一个初始内存分配
    $ cat /proc/<PID>/smaps > smaps.1

  2. 运行一段时间后,再做一个拷贝内存分配
    $ cat /proc/<PID>/smaps > smaps.2

  3. 比较两者差异

$ vimdiff smaps.1 smaps.2
image.png

这里可以看到在[0x012ed000, 0x0130e000]之间有明显的内容使用增加情况。

  1. 用gdb dump出这个内存空间的内容到本地文件
$ gdb -p <PID> \
      -ex="dump memory m.dump 0x012ed000 0x0130e000" \
      -ex="set confirm off" \
      -ex="quit"
  1. 检查m.dump的内容,看看是不是有你相熟的内容,再对照源代码里哪些位置是生成和处理这些数据的。
$ strings m.dump

相关文章

网友评论

      本文标题:Linux通用检测server进程内存泄漏的通用方法

      本文链接:https://www.haomeiwen.com/subject/bijlidtx.html