64 位 Linux 机器中最大可能的共享内存大小 [英] Max possible shared memory size in 64-bit Linux machine

查看:50
本文介绍了64 位 Linux 机器中最大可能的共享内存大小的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有 64 位 Linux 机器(Intel Xeon L5410 @ 2.33GHz).

I have 64-bit Linux machine(Intel Xeon L5410 @ 2.33GHz).

**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

I am trying to create shared memory above 2 GB, shmget is successful but later core dump occurs with the error that cannot access memory. While shared memory below 2GB works perfectly fine. I am able to find any valid reason for this as my shmmax value is around 3GB

推荐答案

最大 shm 内存大小可以通过 /proc/sys/kernel/shmmax 获得,你可以写入该伪文件以更改它.它可能无法提升到物理 RAM 的某个部分(例如一半)以上.也许一些内核配置可以改变这一点.

the maximum shm memory size is available thru /proc/sys/kernel/shmmax and you could write into that pseudo-file to change it. It probably cannot be raised above some portion (e.g. half) of physical RAM. Perhaps some kernel configuration can change that.

您还可以使用 MAP_SHARED 系统调用与 mmap 系统调用共享内存代码>标志.

You can also share memory with the mmap syscall with MAP_SHARED flag.

这篇关于64 位 Linux 机器中最大可能的共享内存大小的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆