python - Force multiprocessing.Array to be created in memory instead of on disk -


i using python 3.4 on linux. want create array in ram shared processes spawned multiprocessing module (i.e. shared memory). according documentation, should possible using multiprocessing.array. when use

array = multiprocessing.array('i', n) 

python creates file in /tmp, zeroes it, , uses through mmap.mmap() shared memory (i have verified looking /usr/lib/python3.4/multiprocessing/heap.py). however, array created in memory, not on disk. reason in use case, n large (more 100 gb), have lot of ram low disk capacity. creation of multiprocessing.array() ends ioerror: no space left on device because uses file on disk shared memory rather ram.

i able around mounting directory via tmpfs , setting tempfile.tempdir point directory. however, there easier way? why python creating shared memory in way?

the short answer no. long answer, read this:

enter link description here

you can use os.fork() pass copy of parent's memory child can't share address space.


Comments

Popular posts from this blog

Sass watch command compiles .scss files before full sftp upload -

filehandler - java open files not cleaned, even when the process is killed -

gridview - Yii2 DataPorivider $totalSum for a column -