Python,在群集上运行脚本时,系统中打开的文件太多

时间:2017-01-23 16:43:11

标签: python

我需要解析大约200万个非常小的文件。但是当我在服务器上运行时,每次它都说“#34;系统中打开的文件过多”#34;然后服务器关闭。

def get_MetaInfo(path):
    proc = psutil.Process()
    with open(path, "r") as file_obj:
        info = file_obj.readlines()
        file_obj.close()
    file_obj.close()
    if len(proc.open_files()) > 1:
        return None
    return info

我尝试了两种方式,

f = open("xxx.txt", "r")
f.close()

OR:

with open("xxx.txt", "r") as f:
    info = f.readlines()
return info

它们都不起作用,我尝试了psutils并确保文件已关闭。

有没有看到服务器上有多少完全打开的文件?

1 个答案:

答案 0 :(得分:0)

您的问题可能与打开的文件数限制有关。您可以使用ulimit来增加它。 ulimit -n number并使用较高的数字。使用ulimit -a查看当前限制。