Hi,
I've already written data with a size of some MBs in the past, and I know a lot of programs which writes a lot more, maybe you should have a look at
Advanced Linux Programming chapter 5 which describes shared memory usage. Sometimes it is necessary to increase the maximum shared memory size (look at /proc/sys/kernel/shmmax).
Maybe you also want to use a more high level interface for your IPC task look at
Chapter*9.*Boost.Interprocess or if you want to use Qt
Qt 4.5: QSharedMemory Class Reference
Hope this helps