<div dir="ltr">Thanks for your reply; I am using Linux on x86_64 and the get_native_error was actually 12, get_error_code was 13. So I am running out of physical memory; so it is not possible to limit the managed_xsi_shared_memory by the amount of free virtual memory (your reply seems to imply that I am constrained by the free physical memory ? <div> <br></div><div><br></div><div style>Regards</div><div style>vipin</div><div><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Apr 30, 2014 at 12:59 AM, Ion Gaztañaga <span dir="ltr"><<a href="mailto:igaztanaga@gmail.com" target="_blank">igaztanaga@gmail.com</a>></span> wrote:<br> <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">El 29/04/2014 23:23, vipin sachdeva escribió:<div class=""><br> <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"> It is error code 13; basically I would like to find out out beforehand<br> how much maximum shared memory (using MemFree from /proc/meminfo, sysctl<br> info etc) I can allocate on a machine and only make an allocation that<br> big , and only allocate a segment of that size. Are there any other<br> system variables I need to consider ? Thanks.<br> </blockquote> <br></div> Is that value the errno value (get_native_error)? At least in linux (you haven't tell us which OS you are using), errno 13 is EACCES (Permission denied). ENOMEM is 12.<br> <br> <a href="https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/include/uapi/asm-generic/errno-base.h" target="_blank">https://git.kernel.org/cgit/<u></u>linux/kernel/git/torvalds/<u></u>linux.git/tree/include/uapi/<u></u>asm-generic/errno-base.h</a><br> <br> If you are referring to get_error_code(), then it's Interprocess' out_of_memory_error (it comes from ENOMEM Posix value).<br> <br> Maybe you don't have a contiguous page of a page of size, there are more processes consuming pages, old shared memory created by shmget has not been freed... According to POSIX ENOMEM can be returned if "the amount of available physical memory is not sufficient to fill the request". Do you have enough physical memory (not virtual) free?<br> <br> Perhaps you could debug the Interprocess code until the shmget() call to see if parameters are correctly passed to the OS. If those parameters are correct, then it's absolutely OS-dependent.<div class="HOEnZb"><div class="h5"> <br> <br> Best,<br> <br> Ion<br> ______________________________<u></u>_________________<br> Boost-users mailing list<br> <a href="mailto:Boost-users@lists.boost.org" target="_blank">Boost-users@lists.boost.org</a><br> <a href="http://lists.boost.org/mailman/listinfo.cgi/boost-users" target="_blank">http://lists.boost.org/<u></u>mailman/listinfo.cgi/boost-<u></u>users</a><br> </div></div></blockquote></div><br></div></div></div>