我有64位Linux機器(Intel Xeon L5410 @ 2.33GHz)。64位Linux機器上最大可能的共享內存大小
**meminfo:**
MemTotal: 24672736 kB
MemFree: 145372 kB
Buffers: 181896 kB
Cached: 22004648 kB
SwapCached: 195072 kB
Active: 9761028 kB
Inactive: 13964532 kB
HighTotal: 0 kB
HighFree: 0 kB
LowTotal: 24672736 kB
LowFree: 145372 kB
SwapTotal: 17414452 kB
SwapFree: 15618852 kB
Dirty: 2125148 kB
Writeback: 0 kB
AnonPages: 1358396 kB
Mapped: 1069632 kB
Slab: 699464 kB
CommitLimit: 29750820 kB
Committed_AS: 9236252 kB
PageTables: 38620 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 17272 kB
VmallocChunk: 34359718843 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
Hugepagesize: 2048 kB
**Also the shm details are:**
shmall 2097152
shmmax 3294967296
shmmni 4096
我想創建2 GB以上的共享內存,shmget成功,但後來核心轉儲發生的錯誤,無法訪問內存。 儘管2GB以下的共享內存工作得很好。 我能找到這方面的任何正當理由作爲我的SHMMAX值大約爲3GB
你是如何構建二進制文件的?如果你在gdb中加載核心文件並使用「bt」命令獲得回溯,那麼它是什麼意思? – sjr
核心文件向我展示了發生coredump的行。就像我上面告訴過你的錯誤是無法訪問內存地址... – Baplix
那個錯誤對我來說毫無意義。粘貼你得到的回溯有多困難,所以我可以自己閱讀它? – sjr