windows arthas 查看内存搭对象
时间: 2023-11-08 17:26:18 浏览: 58
可以使用 Arthas 中的 heapdump 命令来生成堆转储文件,然后使用 Eclipse MAT 等工具来分析该文件,以查看内存中的对象。
具体步骤如下:
1. 进入 Arthas 控制台,执行 heapdump 命令,生成堆转储文件:
```
$ heapdump /tmp/dump.hprof
```
2. 将生成的堆转储文件下载到本地。
3. 使用 Eclipse MAT(Memory Analyzer Tool)打开该堆转储文件。
4. 在 Eclipse MAT 中,可以通过 Histogram 视图、Dominator Tree 视图、Path to GC Roots 视图等来分析内存中的对象,并查找内存泄漏等问题。
注意:在使用 heapdump 命令时,需要保证目标 JVM 的用户权限和 Arthas 工具本身的用户权限一致,否则可能会出现权限不足的错误。同时,生成的堆转储文件可能会比较大,需要确保本地磁盘空间充足。
相关问题
arthas 查看内存搭对象
你可以使用arthas的heapdump命令查看内存中的对象。具体操作步骤如下:
1. 使用jps命令查看Java进程号,找到需要监控的进程号
2. 执行arthas命令:`./as.sh --attach <进程号>`,进入arthas监控界面
3. 执行heapdump命令:`heapdump --live -f /tmp/dump.hprof`,将内存中的对象信息导出到指定文件中
4. 导出完成后,可以使用MAT等工具打开hprof文件,查看内存中的对象信息
如果你想查看某个具体对象的信息,可以使用jmap命令,具体操作步骤如下:
1. 使用jps命令查看Java进程号,找到需要监控的进程号
2. 执行jmap命令:`jmap -histo:live <进程号>`,查看内存中的对象信息
3. 根据输出的信息,找到要查看的对象的类名或实例数量
4. 执行jmap命令:`jmap -dump:live,format=b,file=/tmp/dump.hprof <进程号>`,将内存中的对象信息导出到指定文件中
5. 导出完成后,可以使用MAT等工具打开hprof文件,查看内存中的对象信息
arthas查看内存占用情况
arthas是一款Java诊断工具,可以通过arthas来查看Java应用的内存占用情况。具体操作如下:
1. 进入arthas命令行界面,可以通过以下命令进入:
```
java -jar arthas-boot.jar
```
2. 使用`jps`命令查看Java进程的PID,例如:
```
$ jps
12345 MyApp
```
3. 使用`dashboard`命令进入仪表盘,例如:
```
dashboard
```
4. 在仪表盘中,使用`monitor`命令查看Java应用的内存占用情况,例如:
```
monitor -c 10 -n 5 java.lang.Runtime totalMemory freeMemory maxMemory
```
上述命令将每隔10秒输出一次Java应用的内存占用情况,共输出5次。其中,`totalMemory`表示Java应用的总内存大小,`freeMemory`表示Java应用的空闲内存大小,`maxMemory`表示Java应用的最大内存大小。
除了使用仪表盘的`monitor`命令,还可以使用`jstat`命令、`jmap`命令等方式来查看Java应用的内存占用情况。