设置“ulimit c unlimited”后,java无法生成系统核心转储
我正在运行:Red Hat Enterprise Linux Server 6.3版(圣地亚哥)
错误:无法写入核心转储。核心转储已被禁用。要启用核心转储,请在再次启动Java之前尝试“ulimit-c unlimited”
将核心文件大小设置为“无限制”,并用以下命令确认设置后:
$ ulimit -a
core file size (blocks, -c) unlimited
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 773690
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 65536
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 10240
cpu time (seconds, -t) unlimited
max user processes (-u) 65536
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
我仍然无法让JVM崩溃创建系统核心转储。。。有什么办法可以防止这种情况发生吗
应该注意的是,如果编写一个有意导致分割错误的C++程序,那么立即生成CORDEMP文件:#include <signal.h>
int main() {
raise (SIGSEGV);
}
$ ./crash
Segmentation fault (core dumped)
Produces:
core.43969
共 (0) 个答案