Sounds like you could treat /dev/shm as a large, linear file and mmap()
one window into it at a time...
Chris Kloiber wrote:
On Tue, 2003-12-09 at 08:16, James Olin Oden wrote:
>On Mon, 8 Dec 2003, Vanco, Don wrote:
>
>
>
>>While I hate to use this as a support line I've gotten no help from the 2
>>local lugs I've queried, and know that there's some heavy hitters lurking
>>here.
>>
>>I understand that the Linux kernel can (through PAE) provide memory paging
>>beyond 4GB of physical memory on 32-bit architecture. What I need to
>>understand is: what are the requirements on the application side to utilize
>>this memory? I'm looking for documentation / links that talk about
>>applications and PAE.
>>
>>Case in point: Lotus Notes on OS400 can address huge amount of RAM, but when
>>it's running on Linux does it need to be compiled in a specific manner, or
>>with some specific bit of code / API to address more than the architecture
>>physically supports?
>>
>>
>>
>Hi Don,
>
>We use the PAE feature where I work. The deal is that this functionality
>only makes it possible for the kernel to access and use all this memory,
>but each process still can only address 4Gig of memory less the amount of
>memory under 4Gig the kernel is using. If you wanted a single app
>to use more than 4Gig, at this point you would need to create several
>processes that share memory. Even this this is very specific to the
>application as to whether such a scheme could be used effectively (you
>would in effect be shuffling data around processes as needed).
>
>Does anyone know of any other solutions than PAE?
>
>
Can you do some tricks like Oracle does? They can use very large shared
memory segments using /dev/shm I've seen customers use /dev/shm up to 6
gigs on a 8 Gig box, and 14 Gigs on a 16 Gig box. This is probably
slower than normal ram access, but faster than swapping to disk.
Remember I'm in Support, I can't help you program this.