У меня есть процесс Python, который считывает файлы из базы данных, а затем записывает их в объеме сети через FOUT:Python Process выдает выделение памяти, пытаясь записать файл, но есть много доступной памяти. В чем причина?
например:
fout = open((strOutputPath + strOutputName), 'wb')
for row in tupSQLResults :
fout.write(row[0])
fout.close()
99% времени, это успешно. Однако, в некоторых случаях, я получаю прекрасный: [Errno 12] Не удается выделить память через str (sys.exc_info() [1])
Когда это происходит, я проверил память аппарата, и обычно Процесс Python использует только что-то вроде 36mb (аналогичная виртуальная память), с 3 + gbs свободной оперативной памяти. Он будет продолжаться до следующих файлов и, как правило, выводит их в порядке. (Это запланированная задача, которая выполняется каждые 5 минут и выводит любые файлы с более новой меткой времени в db.)
Любая мысль о том, что могло бы вызвать эту ошибку выделения памяти? Может быть, проблема с томом назначения? Если да, есть ли более надежный механизм транспорта (должен ли я работать локально, а затем копировать с помощью scp или аналогичного?)
Спасибо!
Это звучит неплохо. Я просто не ожидал, что ошибка выделения памяти будет вызвана недоступным местом вывода. –
Ошибка распределения памяти может быть на сетевом устройстве. Трудно сказать, что вы сказали здесь. Тем не менее, ожидание и попытка снова, вероятно, исправит это. – joel3000
Он оказался на сетевом томе. –