線上記憶體洩露定位--memleak工具

網路安全研發隨想發表於2020-12-24

1. top + ps

用 top 或 ps 來觀察程式的記憶體使用情況,然後找出記憶體使用一直增長的程式

2. memleak

使用專門用來檢測記憶體洩漏的工具,memleak。

memleak 可以跟蹤系統或指定程式的記憶體分配、釋放請求,然後定期輸出一個未釋放記憶體和相應呼叫棧的彙總情況(預設 5 秒)。

$ /usr/share/bcc/tools/memleak -p $(pidof app) -a
Attaching to pid 12512, Ctrl+C to quit.
[03:00:41] Top 10 stacks with outstanding allocations:
    addr = 7f8f70863220 size = 8192
    addr = 7f8f70861210 size = 8192
    addr = 7f8f7085b1e0 size = 8192
    addr = 7f8f7085f200 size = 8192
    addr = 7f8f7085d1f0 size = 8192
    40960 bytes in 5 allocations from stack
        fibonacci+0x1f [app]
        child+0x4f [app]
        start_thread+0xdb [libpthread-2.27.so] 

相關文章