有时经常要检查一个服务是否有内存泄漏,于是我们可以用数据收集器集来检查。

1、打开计算机管理--系统工具--性能--数据收集器集--用户定义。

linux 排查java内存泄漏 linux如何排查进程内存泄漏_Linux内核

2、选用户定义,右键--新建--数据收集器集。

linux 排查java内存泄漏 linux如何排查进程内存泄漏_数据收集_02

3、创建新的数据收集器集,选“手动创建” 。

linux 排查java内存泄漏 linux如何排查进程内存泄漏_linux_03

4、勾选“性能计数器”。

linux 排查java内存泄漏 linux如何排查进程内存泄漏_linux 排查java内存泄漏_04

5、点击“添加”按钮。

linux 排查java内存泄漏 linux如何排查进程内存泄漏_Linux内核_05

6、性能泄漏测试,主要关心以下指标。

(1)Process/% Processor Time

(2)Process/Handle Count

(3)Process/Private Bytes

(4)Process/Thread Count

在“选定对象的实例”里,添加自己要进行测试的程序服务。

linux 排查java内存泄漏 linux如何排查进程内存泄漏_linux 排查java内存泄漏_06

linux 排查java内存泄漏 linux如何排查进程内存泄漏_linux 排查java内存泄漏_07

linux 排查java内存泄漏 linux如何排查进程内存泄漏_Linux内核_08

7、 以下是本次添加了的所有性能计数器。

linux 排查java内存泄漏 linux如何排查进程内存泄漏_数据收集_09

8、保存位置默认即可。

linux 排查java内存泄漏 linux如何排查进程内存泄漏_Linux内核_10

9、点击“完成”。

linux 排查java内存泄漏 linux如何排查进程内存泄漏_进程管理_11

10、 在刚才创建完成的“数据收集器集”的项里,右键--属性。

linux 排查java内存泄漏 linux如何排查进程内存泄漏_进程管理_12

11、将日志格式改为“制表符分隔” ,间隔时间为“10秒”。

linux 排查java内存泄漏 linux如何排查进程内存泄漏_进程管理_13

这时性能监视器会弹出“输入该数据收集器的用户”,将用户名改为admin,并输入你的电脑的登录密码即可。

linux 排查java内存泄漏 linux如何排查进程内存泄漏_linux 排查java内存泄漏_14

12、启动数据收集器集。

linux 排查java内存泄漏 linux如何排查进程内存泄漏_linux 排查java内存泄漏_15

13、然后等待一段时间,起码是6小时以上。在对应的路径,用excel打开tsv格式的文件。

linux 排查java内存泄漏 linux如何排查进程内存泄漏_进程管理_16

14、用excel打开后,选择时间和其中一列的数据,插入二维折线图。就可以以比较直观的方式查看到是否有内存泄漏了。

linux 排查java内存泄漏 linux如何排查进程内存泄漏_linux_17

15、当查到内存时,此处可见有内存泄漏。

linux 排查java内存泄漏 linux如何排查进程内存泄漏_进程管理_18

linux 排查java内存泄漏 linux如何排查进程内存泄漏_linux 排查java内存泄漏_19