Загрузка карты памяти Python - ошибка: невозможно выделить память - PullRequest
0 голосов
/ 21 декабря 2018

Я использую сервер Ubuntu для запуска обширного процесса памяти.Моя структура данных - это словарь из numpy массивов.После joblib.dump использования его в качестве карты памяти размер файла составляет 52 ГБ.Когда я снова открываю файл, используя joblib.load, я получаю ошибку - «Слишком много открытых файлов».Я хочу передать эту карту памяти в joblib.Parallel для дальнейших вычислений.

Я увеличил предел количества файлов на ulimit -n 1000000, который был 1024 ранее.Теперь, когда я пытаюсь загрузить тот же файл, он выдает ошибку - OSError: [Errno 12] Cannot allocate memory.Я не вижу увеличения памяти при запуске процесса (используя htop).Я запутался, поскольку процесс, похоже, не использует память, но выдает ошибку выделения памяти.

Это мой файл proc / limit:

Limit                     Soft Limit           Hard Limit           Units     
Max cpu time              unlimited            unlimited            seconds   
Max file size             unlimited            unlimited            bytes     
Max data size             unlimited            unlimited            bytes     
Max stack size            8388608              unlimited            bytes     
Max core file size        0                    unlimited            bytes     
Max resident set          unlimited            unlimited            bytes     
Max processes             1031673              1031673              processes 
Max open files            1000000              1000000               files     
Max locked memory         unlimited            unlimited            bytes     
Max address space         unlimited            unlimited            bytes     
Max file locks            unlimited            unlimited            locks     
Max pending signals       1031673              1031673              signals   
Max msgqueue size         819200               819200               bytes     
Max nice priority         0                    0                    
Max realtime priority     0                    0                    
Max realtime timeout      unlimited            unlimited            us        

Кажется, что нет никаких ограничений памяти на сам процесс.Что здесь может происходить?

...