我期望代码使JVM退出并崩溃,我看到了JVM退出,但是我没有看到JVM崩溃日志(hs_err_pid ),命令“sudo egrep-I ' Java '/var/log/messages”没有任何消息,所以不是linux终止了进程。但是我可以看到消息“进程结束,退出代码为1 ”,所以问题是什么使jvm退出
开头为:Java-xmx 50m-xms 50m-XX:error file =/home/wks/javacode/Java _ error . log-XX:PrintGCDetails-XX:PrintGCDateStamps-Xloggc:/home/wks/javacode/GC . log
import java.util.ArrayList;
import java.util.List;
public class MakeVmAbort {
static List<Thread> ts = new ArrayList<>();
static List<byte[]> bs = new ArrayList<>();
public static void main(String[] args) {
try {
while (true) {
Thread t = new Thread(() -> {
while (true) {
bs.add(new byte[1024 * 1024]);
try {
Thread.sleep(500L);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
});
t.start();
ts.add(t);
}
} catch (Exception e) {
System.out.println(e.getStackTrace());
}
}
}
JVM退出是因为主线程抛出OOM,所以JVM退出时最后一个非守护进程线程完成,感谢@apangin
问题内容: 当我退出“活动”退出(通过“后退”按钮)时,我的应用程序崩溃。据我所知,这是在Android代码库中发生的,而不是我的,但是我并不完全相信。 这是来自adb的stacktrace: 有人有什么想法/建议吗? 问题答案: 无助,因为没有代码。还在看 造成原因:android.app.Activity.performStop(Activity.java:3575)上的java.lang.N
在非gui模式下使用Jmeter 3.3进行分布式测试的过程中,我得到的错误是,如何修复此问题: 我在主机器和从机器上使用相同版本的JMeter和JDK。 JVM应该已经退出,但没有退出。以下非守护进程线程仍在运行(DestroyJavaVM正常):线程[main,5,main],
JVM不时会奇怪地崩溃。JVM崩溃日志中有问题的帧是libzip.so,error是sigsegv。这在Tomcat7和JDK7中发生 下面是堆栈跟踪以供参考: 堆栈:[0x00007F68B999C000,0x00007F68B9A9D000],SP=0x00007F68B9A99770, 可用空间=1013k本机帧:(J=编译的Java代码,J=解释的,VV=VM代码,C=本机代码)C[lib
问题内容: JVM崩溃中的日志文件包含各种有用的调试信息,例如加载的共享库和完整的环境。我可以强制JVM以编程方式生成其中之一吗?通过执行使它崩溃的代码还是其他方式?或者以另一种方式访问相同的信息? 问题答案: 您可以尝试抛出OutOfMemoryError并添加-XX:+ HeapDumpOnOutOfMemoryError jvm参数。从1.6开始,这是新功能,而McDowell建议使用其
在非gui模式下使用JMeter执行脚本和远程测试时,我会收到错误消息,如何解决该问题
尝试执行以下代码 JVM崩溃,错误日志如下