Загрузка карты памяти Python - ошибка: невозможно выделить память
Я использую сервер 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 Жесткие лимиты Максимальное время процессора неограниченное количество секунд Максимальный размер файла неограничен, неограничен байт Максимальный размер данных неограничен, неограничен байт Максимальный размер стека 8388608 неограниченных байтов Максимальный размер основного файла 0 неограниченных байтов Максимальный резидент установил неограниченные неограниченные байты Макс процессов 1031673 1031673 процессов Максимум открытых файлов 1000000 1000000 файлов Максимальное количество заблокированной памяти неограниченное количество байтов Максимальное адресное пространство, неограниченное количество байтов Макс файл блокирует неограниченное количество неограниченных блокировок Макс ожидающих сигналов 1031673 1031673 сигналов Максимальный размер сообщения 819200 819200 байт Макс хороший приоритет 0 0 Максимальный приоритет в реальном времени 0 0 Максимальный тайм-аут в реальном времени неограниченно нас
Кажется, что нет никаких ограничений памяти на сам процесс. Что здесь может происходить?