【问题标题】:Python RAM usage after closing关闭后的 Python RAM 使用情况
【发布时间】:2015-03-21 15:18:52
【问题描述】:

我的 python 脚本确实连接到不同的 ssh 大约 1000 次,每次运行 python 脚本,还使用请求获取网页。

我使用的是子进程,用于执行 ssh 连接和请求库,以获取网页。

之后,当应用程序完成执行时,我有 +500Mb 的 RAM,此外,在运行时,我一直在记录资源,最多有 15 Mb 的资源,但占用 RAM/Swap 大约 500mb。

是什么导致了这种问题?

垃圾收集器 (gc.collect()) 没有帮助,一切都一样。

尝试不使用全局变量,删除使用过的变量,可能比较大,没什么用。

【问题讨论】:

  • 你是如何测量这个内存使用的?
  • 我在看free -m,或者swapon -s,top等。只有在脚本运行后内存才会增加。顺便说一句,处理的连接量当然取决于大小,RAM 已增加到。在 python 中,在记录时,我一直在使用资源库来测量它
  • 我问是因为很多人读错了free 的输出。你在看“mem”行还是“-/+ buffers/cache”行?你应该看看后者。
  • 是的,我没看错,此外,当 RAM 结束时,很明显,正在使用交换
  • 您在某处保留对数据的引用。没有代码就没什么好说的了。

标签: python garbage-collection ram garbage


【解决方案1】:

我找到了解决方案,问题是系统中有几十个、几百个 ssh 进程。我刚刚执行了killall sshpass,一切正常:)

os.popen("killall sshpass")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多