为了账号安全,请及时绑定邮箱和手机立即绑定

高 XMX:java.lang.outofmemory 本机内存分配 (malloc)

高 XMX:java.lang.outofmemory 本机内存分配 (malloc)

千巷猫影 2023-07-13 15:56:32
我确实在网上搜索了这个问题,但找不到可能的解决方案或解释。我们有一个 CentOS 6 VM,具有 8 GB RAM、64 位、Open JDK 1.8。我们正在尝试使用 -Xmx6000M 运行 Java 程序。它只是在启动时崩溃,并出现以下内存不足错误:native memory allocation (malloc) failed to allocate 32756 bytes for ChunkPool::allocate它只执行开始的几行代码(没有太多内存分配<500MB)并不断崩溃。有趣的是,如果我将 -Xmx 更改为 3000M,它就会开始正常工作,并且我的程序启动并且一切正常。根据我的理解,Xmx表示JVM可以达到的最大堆内存,并且是按需分配的。所以,我不知道即使 JVM 没有达到 1 GB 堆,它是如何导致崩溃的,以及减少 Xmx 如何解决这个问题?我知道如果操作系统无法提供所需的内存,JVM 可能会因 OOM 而崩溃,但这里操作系统始终有超过 3 GB 的可用内存。请指教。/etc/proc/meminfo 的输出是:MemTotal:        8061104 kBMemFree:         4905068 kBBuffers:          172920 kBCached:          1828412 kBSwapCached:            0 kBActive:          1751828 kBInactive:        1129956 kBActive(anon):     872840 kBInactive(anon):    58348 kBActive(file):     878988 kBInactive(file):  1071608 kBUnevictable:           0 kBMlocked:               0 kBSwapTotal:       4194300 kBSwapFree:        4194300 kBDirty:                24 kBWriteback:             0 kBAnonPages:        880488 kBMapped:           334788 kBShmem:             50740 kBSlab:             133388 kBSReclaimable:      92196 kBSUnreclaim:        41192 kBKernelStack:        6880 kBPageTables:        23236 kBNFS_Unstable:          0 kBBounce:                0 kBWritebackTmp:          0 kBCommitLimit:     8224852 kBCommitted_AS:    1534484 kBVmallocTotal:   34359738367 kBVmallocUsed:      185660 kBVmallocChunk:   34359545792 kBHardwareCorrupted:     0 kBAnonHugePages:    493568 kBHugePages_Total:       0HugePages_Free:        0HugePages_Rsvd:        0HugePages_Surp:        0Hugepagesize:       2048 kBDirectMap4k:      251904 kBDirectMap2M:     7088128 kBDirectMap1G:     1048576 kB更新 我们注意到此操作系统上的交换内存不起作用,它总是显示已使用的 0 KB。这可能是 OOM 的潜在原因吗?
查看完整描述

1 回答

?
Helenr

TA贡献1780条经验 获得超3个赞

Java HotSpot VM 分为 3 个内存空间(Java Heap、PermGen、C-Heap)。对于 32 位 VM,所有这些内存空间都会相互竞争内存。增加 Java 堆空间(使用 -Xmx)将进一步减少 C 堆的容量并为操作系统保留更多内存。

这也是为什么像您一样将 -Xmx 减少到 3000M 会使您的程序正常工作。

查看完整回答
反对 回复 2023-07-13
  • 1 回答
  • 0 关注
  • 89 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信