问题背景
上个篇章介绍了使用Jprofiler内存泄漏定位的简单分析,这个篇章介绍使用Jprofiler工具查看IDEA本地进程内存占用情况和GC情况
注意事项:
- 可以通过本文代码自己创建工程,也可以直接下载源码进行参考
JVM调优工具Jprofiler无介绍快速安装(附安装包)(一)
创建java测试用例
1 main测试类
package service;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
/**
* @Author suolong
* @Date 2022/5/13 16:11
* @Version 2.0
*/
public class HeapService {
private byte[] bytes = new byte[256 * 1024]; //新建一个256kb的对象
public static void main(String[] args) throws IOException, InterruptedException {
System.in.read(); //启动后会暂停在这里,方便有时间查看进程号
List<HeapService> heapServiceList = new ArrayList<>();
for (int i = 0; i < 1000; i++) {
Thread.sleep(100); //每100ms就新建一个bytes对象放入list
heapServiceList.add(new HeapService());
}
System.gc(); //创建完1000次以后,释放heap堆
}
}
2 启动main函数
3 使用终端Terminal查看进程号,输入指令jps
jps
找到29076进程号记录下来
4 打开Jprofiler工具,首先新建一个会话
5 添加名字和工程目录
6 选择刚才记录的java进程号
7 点击OK,默认即可
8 可以看到各个数据情况
9 开始运行工程的for循环,随便输入一个字符开始运行
10 查看内存变化
总结
- 这就是最基本的本地连接,下次讲一下远程连接
作为程序员第 134 篇文章,每次写一句歌词记录一下,看看人生有几首歌的时间,wahahaha ...