Python Process会尝试写一个文件的内存分配,但是有足够的可用内存 - 原因是什么?

时间:2014-02-03 20:37:02

标签: python memory python-2.6

我有一个Python进程从数据库中读取文件,然后通过fout将它们写入网络卷:

例如:

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分钟运行一次的计划任务,并输出数据库中具有较新时间戳的任何文件。)

有什么想法会导致这个内存分配错误?这可能是目标卷的问题吗?如果是这样,是否有更可靠的传输机制(我应该在本地fout,然后使用scp或类似的复制吗?)

谢谢!

1 个答案:

答案 0 :(得分:1)

可能由于某种原因网络卷不可用。

我会抓住异常,暂停一段时间,再试一次。