Python - Oserror 24 (too Many Open Files) And Shared Memory
Solution 1:
The issue was in shared memory system settings (shared memory – wiki).
There is parameter kern.sysv.shmseg
in /etc/sysctl.conf
file which represents the maximum number of shared memory segments each process can attach. So I had value 32 that was not enough for my script.
To view parameters, use:
sysctl -A | grep shm
To update that parameters, edit file:
sudo vim /etc/sysctl.conf
My looks now like that:
kern.sysv.shmmax=564777216kern.sysv.shmmin=1kern.sysv.shmmni=700kern.sysv.shmseg=128kern.sysv.shmall=131072
Notice, you need restart system in order to apply settings.
To view currently allocated shared memory segments, type:
ipcs -m -b
To remove all shared memory segments:
for n in `ipcs -b -m | egrep ^m | awk '{ print $2; }'`; do ipcrm -m $n; done
Notice, only segments that are not attached to any process will be really removed.
More on shared memory settings: http://techjournal.318.com/general-technology/shared-memory-settings-explain/, http://www.spy-hill.com/help/apple/SharedMemory.html, http://support.apple.com/kb/HT4022
Post a Comment for "Python - Oserror 24 (too Many Open Files) And Shared Memory"