1
JVM为了保证dump的信息的可靠性,会暂停应用的所有线程,如果堆内对象过大的话,这个过程会非常耗时,dump指令不能在生产环境中使用。这个问题在使用 arthas heapdump命令时会出现吗?
JVM为了保证dump的信息的可靠性,会暂停应用的所有线程,如果堆内对象过大的话,这个过程会非常耗时,dump指令不能在生产环境中使用。这个问题在使用 arthas heapdump命令时会出现吗?
实际上,对于稳定性要求高的系统,都不应该用到生产环境。 举个例子:执行 watch jdk.internal.misc.Unsafe * 会直接java进程栈溢出崩溃
是的,这也是线上操作所造成的一个教训,感谢您的回答。
实际上,常用的jvm命令,都可能会导致一次长时间的主动Full GC/safepoint 暂停。
用不用是人控制的,跟应用有啥关系。
arthas只是工具,效果取决于使用的人 和 执行的命令。