当我反复打开和关闭同一个文件时,为什么内存使用会不断增长

时间:2016-02-06 15:14:47

标签: python linux

以下是代码:

while True:
    with open('a', 'w'):
        assert True # just do sth

当我运行它时,系统总内存使用量不断增长。 我的4核cpu都达到了100%。

为什么会这样?

Linux内核不应该立即关闭fds并释放内存吗?

我的环境:

  • Ubuntu 14.04内核:x86_64 Linux 3.13.0-77-generic
  • Python 2.7.6
  • CPU:Intel Core i3-2350M CPU @ 2.3GHz
  • RAM:7878MiB

现在我也无法重现这个问题 甚至运行原始代码:

def main():
    key_list = ""
    for i in xrange(10000000, 1000000000):
        key_list = key_list + str(i) + "\n"
        if len(key_list) > 10000:
            with open("./passwd1.txt", "a+") as f:
                f.write(key_list)
            # del key_list
            key_list = ""
            print "done"

...怪异

0 个答案:

没有答案