2015-05-27 4 views
1

Я запускаю код от другого пользователя, который создает конвекцию. Ранняя функция пытается скопировать поезд и тестовые изображения в /dev/shm, запустив:Копирование файлов в ОЗУ на Mac (Python)

import os 
import time 

paths = ["data/raw/images_train_rev1", "data/raw/images_test_rev1"] 

for path in paths: 
    if os.path.exists(os.path.join("/dev/shm",os.path.basename(path))): 
     print "%s exists in /dev/shm, skipping." % path 
     continue 

    print "Copying %s to /dev/shm..." % path 
    start_time = time.time() 
    os.system("cp -R %s /dev/shm/" % path) 
    print " took %.2f seconds." % (time.time() - start_time) 

Я получаю ошибки:

cp: /dev/shm: Permission denied 
cp: data/raw/images_test_rev1: unable to copy extended attributes to 
/dev/shm: No such file or directory 

Есть ли альтернатива /dev/shm, что я могу использовать на моем Mac?


Я создал виртуальный диск в OSX, используя эту информацию:

http://osxdaily.com/2007/03/23/create-a-ram-disk-in-mac-os-x/

Тогда: Ls -lah/DEV/rdisk1 CRW ------- 1 хххх персонал 1 , 4 27 мая 16:26/DEV/rdisk1

Однако, когда я пытаюсь написать к ней я получаю ошибку:

/rdisk1 is not a directory 
took 0.78 seconds. 
Copying data/raw/images_test_rev1 to /dev/rdisk1... 
cp: /dev/rdisk1 is not a directory 
took 0.02 seconds. 

Надеюсь, вы сможете помочь. Благодарю.

+0

в любом месте, которое устанавливается как 'tmpfs' –

+0

примечание стороны:' os.system() ' был заменен функциями из модуля 'subprocess': https://docs.python.org/2/library/subprocess.html. – EOL

ответ

1

вы можете использовать эту утилиту https://gist.github.com/koshigoe/822455

cd /tmp 
git clone https://gist.github.com/822455.git 
cd 822455 
chmod +x * 
sudo ./mount-ram.sh /dev/shm 1024 
sudo chmod 777 /dev/shm 

это создаст папку для записи /dev/shm из 1G в ОЗУ