[alibaba/arthas]JVM为了保证dump的信息的可靠性,会暂停应用的所有线程,如果堆内对象过大的话,这个过程会非常耗时,dump指令不能在生产环境中使用。

2024-07-17 162 views
3

JVM为了保证dump的信息的可靠性,会暂停应用的所有线程,如果堆内对象过大的话,这个过程会非常耗时,dump指令不能在生产环境中使用。这个问题在使用 arthas heapdump命令时会出现吗?

回答

7

实际上,对于稳定性要求高的系统,都不应该用到生产环境。 举个例子:执行 watch jdk.internal.misc.Unsafe * 会直接java进程栈溢出崩溃

4

是的,这也是线上操作所造成的一个教训,感谢您的回答。

5

实际上,常用的jvm命令,都可能会导致一次长时间的主动Full GC/safepoint 暂停。

1

用不用是人控制的,跟应用有啥关系。

5

arthas只是工具,效果取决于使用的人 和 执行的命令。