Czech Dutch English French German Spanish
Home | Search | About | Forum | Login

BOINC

FAQ Service (English)

 

Can’t create shared memory: system shmget (Macintosh)

FAQ: Can’t create shared memory: system shmget (Macintosh)
Title: Can’t create shared memory: system shmget (Macintosh)
Author: Odysseus
Views: 38174
Category: 08. Project Application Errors
Available in: English
Created: 16/09/2007 22:28:07
Last Modified: 16/09/2007 22:28:07

Contents:

BOINC science applications use shared memory to communicate with the core client, and a certain amount is reserved for each current task, whether running or waiting. The default configuration of a multi-CPU Mac (regardless of how much RAM is installed) is sometimes inadequate to support several projects at once.

If you get this error message, which is usually followed by a “Couldn't start or resume: -144” error in the current computation, it may help to set your BOINC general preference “Leave applications in memory while suspended?” to no; however, the problem will probably just become less frequent rather than being solved, and moreover some projects’ applications, those that save checkpoints infrequently (or erratically), may not take well to this setting.

A better solution is available—if you don’t mind reconfiguring your system’s kernel a little. The method, accompanied by a more detailed description of the issue, is outlined in Configuring Shared Memory on Mac OS X from Spy Hill Research (hosts of the BOINC Pirates@home project). It involves creating a text file “/etc/sysctl.conf” that contains the following commands:

Code:
kern.sysv.shmmax=16777216
kern.sysv.shmmin=1
kern.sysv.shmmni=128
kern.sysv.shmseg=32
kern.sysv.shmall=4096

and rebooting the computer. This will quadruple the default allocation of shared memory.

Note that the problem may manifest with slightly different error messages: “Can't create shared memory: system shmat” followed by “Couldn't start or resume: -146”.
 

Copyright © Neil Munday 2008