Arthas线上诊断及导出dump对象
java -jar /opt/arthas/arthas-boot.jar
docker ps |grep xm-interface-5f9949665c-zxn4k //pod名称
docker cp 1167f5be9202:/tmp/containerBatchUpdate.log ./containerBatchUpdate.log
kubectl cp prod-les-ns/xm-interface-5f9949665c-zxn4k:/tmp/containerBatchTransfer.log ./containerBatchTransfer.log
//-n代表前n次调用,-x代表查看的参数层数,一般为4
watch actual.infra.repository.impl.MtInstructionActualDetailRepositoryImpl instructionActualDetailBatchCreate '{params,returnObj,throwExp}' -n 5 -x 4
watch actual.infra.repository.impl.MtInstructionActualDetailRepositoryImpl instructionActualDetailBatchCreate '{params,returnObj,throwExp}' -n 20 -x 4 >> /tmp/arthas2023031308.log
trace actual.infra.repository.impl.MtInstructionActualDetailRepositoryImpl instructionActualDetailBatchCreate --skipJDKMethod false >> /tmp/arthas20230313.log
导出dump对象
dump java heap, 类似jmap命令的heap dump功能。
使用参考:
dump到指定文件:
[arthas@58205]$ heapdump /tmp/dump.hprof
Dumping heap to /tmp/dump.hprof...
Heap dump file created
只dump live对象:
[arthas@58205]$ heapdump --live /tmp/dump.hprof
Dumping heap to /tmp/dump.hprof...
Heap dump file created
dump到临时文件:
[arthas@58205]$ heapdump
Dumping heap to /var/folders/my/wy7c9w9j5732xbkcyt1mb4g40000gp/T/heapdump2019-09-03-16-385121018449645518991.hprof...
Heap dump file created