内存问题排查
<h2>基础</h2>
<pre><code class="language-sh"># 查看进程内存分布
cat /proc/6686/maps
# 上面可读性太差,还是用下面这个吧
pmap 6686 -X</code></pre>
<pre><code class="language-sh"># dump 进程内存
gdb attach 6686
dump memory /root/memory.dump 0xc81fff0000 0xc820200000
detach</code></pre>
<h2>malloc</h2>
<p>linux glic 的 malloc:</p>
<ul>
<li>
<p>小于等于 128 K,调用 brk 进行堆栈分配
特点是:如果高内存不释放,则低内存也不会释放,但低内存可以重复使用</p>
</li>
<li>大于 128 K,调用 mmap 分配
特点是:可以直接回收给系统</li>
</ul>
<p>参考文档:<a href="https://www.cnblogs.com/dirge/p/10497931.html">https://www.cnblogs.com/dirge/p/10497931.html</a></p>