我正在运行:红帽企业Linux服务器版本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 ++程序,那么就会立即生成coredump文件:
#include <signal.h>
int main() {
raise (SIGSEGV);
}
$ ./crash
Segmentation fault (core dumped)
Produces:
core.43969