本文介绍了一台运行Java进程的服务器发生了Out of Memory(OOM)异常导致Java虚拟机(JVM)崩溃的故障排查过程。服务器配置包括Ubuntu 20.04操作系统、Intel Xeon E7-4820 8核CPU和32GB内存。分析JVM生成的错误日志(hs_err_pid*.log)发现,崩溃原因是本地内存分配失败,提示系统物理内存或交换空间不足,或者Java堆(Heap)设置导致本机堆内存分配受阻。日志中列出可能原因和解决方案,如减少系统内存负载、增加物理内存或交换空间、调小JVM堆大小(-Xmx/-Xms)、减少Java线程数或线程堆栈大小(-Xss),以及调整代码缓存等参数。还提及了Java压缩指针(CompressedOops)模式可能限制本机堆内存增长。总结内容为定位JVM OOM故障时应关注系统和JVM参数设置,合理调整内存相关配置以避免本机内存分配失败。