0
我的代碼崩潰與此錯誤消息JVM崩潰,錯誤= '無法分配存儲器'(錯誤= 12)
`執行 「的/ usr/bin中/ JAVA com.utils.BotFilter」 OpenJDK的64位服務器VM警告:INFO:os :: commit_memory(0x0000000357c80000,2712666112,0)失敗;錯誤='無法分配內存'(errno = 12)
沒有足夠的內存讓Java運行時環境繼續運行。 本機內存分配(malloc)未能爲提交保留內存分配2712666112個字節。 更多信息的錯誤報告文件保存爲: 的/ tmp/JVM-29955/hs_error.log`
Here is the content of the generated hs_error.log file:
這從崩潰日誌行似乎對我有意思:
Memory: 4k page, physical 98823196k(691424k free), swap 1048572k(0k free)
這是否意味着機器有內存但交換空間不足?
這是來自崩潰日誌的meminfo,但我真的不知道如何解釋它,就像MemFree和MemAvailable有什麼不同?這個過程需要多少內存?
的/ proc/meminfo中:
MemTotal: 98823196 kB
MemFree: 691424 kB
MemAvailable: 2204348 kB
Buffers: 145568 kB
Cached: 2799624 kB
SwapCached: 304368 kB
Active: 81524540 kB
Inactive: 14120408 kB
Active(anon): 80936988 kB
Inactive(anon): 13139448 kB
Active(file): 587552 kB
Inactive(file): 980960 kB
Unevictable: 0 kB
Mlocked: 0 kB
SwapTotal: 1048572 kB
SwapFree: 0 kB
Dirty: 1332 kB
Writeback: 0 kB
AnonPages: 92395828 kB
Mapped: 120980 kB
Shmem: 1376052 kB
Slab: 594476 kB
SReclaimable: 282296 kB
SUnreclaim: 312180 kB
KernelStack: 317648 kB
PageTables: 238412 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 50460168 kB
Committed_AS: 114163748 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 314408 kB
VmallocChunk: 34308158464 kB
HardwareCorrupted: 0 kB
AnonHugePages: 50071552 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
DirectMap4k: 116924 kB
DirectMap2M: 5115904 kB
DirectMap1G: 95420416 kB
你有'2712666112'字節嗎? –