![如何分析poolmon的输出](https://linux22.com/image/490764/%E5%A6%82%E4%BD%95%E5%88%86%E6%9E%90poolmon%E7%9A%84%E8%BE%93%E5%87%BA.png)
我读过关于poolmon的知识库文章,但它们没有告诉我如何分析这些数字。我的第一个猜测是寻找“Diff”列中的值非常高的驱动程序。对吗?
对我来说,这将是这些过程:
Tag Type Allocs Frees Diff Bytes Per Alloc
Ntfr Nonp 2690737 2528557 162180 10379976 64
Ntfn Nonp 1397933 1304230 93703 3750928 40
NtFs Nonp 2385330 2291634 93696 3749056 40
File Nonp 13789939 13704656 85283 13203912 154
所以这意味着 Ntfs 驱动程序有内存泄漏,我对此表示怀疑:) 那么我应该寻找什么?
答案1
“Diff” 显示 alloc 调用次数与 free 调用次数之间的差异。“Bytes” 显示当前分配的字节数。
您需要进行一系列采样才能找到泄漏。分配的字节数较多和/或分配与释放调用次数差异较大不一定是内存泄漏的征兆。分配的字节数随时间稳步增加是内存泄漏的迹象。