簡體   English   中英

無法在Mac OS X上分配內存錯誤-java(xx,xx)malloc:*** mmap(size = XX)失敗(錯誤代碼= 12)

[英]unable to allocate memory error on mac os x - java(xx,xx) malloc: *** mmap(size=XX) failed (error code=12)

我相信這是一個普遍的問題,但如果有幫助,我可以在具有16GB RAM的Mac OS X 10.8上運行LucidDB數據庫(0.9.4)。 數據庫軟件主要用Java編寫,而某些部分則用C ++編寫。 當我將緩沖池大小增加到1GB時,出現以下錯誤。

java(669,0xfc621000)malloc: * mmap(size = 16777216)失敗(錯誤代碼= 12) 錯誤:無法分配區域* *在malloc_error_break中設置斷點進行調試

我相信緩沖池使用共享內存,因此我將最大可用共享內存(kern.sysv.shmmax,kern.sysv.shmall)增加到了2GB。 我還將Java堆大小(Xms,Xmx)增加到1536MB。 我被卡住了,有什么提示嗎?

每當我在linux下看到這些奇怪的低級錯誤時,我都會將其追溯到某種資源的缺乏,例如耗盡交換空間或過於頻繁地重新映射虛擬內存。 應該有一個實用程序,可為您提供正在運行的程序中所有內存映射的轉儲。 我會檢查映射數是否太高。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM