小编Ugt*_*tar的帖子

奇怪的内存泄漏与python + paramiko

我在python脚本中有一个(明显的)内存泄漏,我无法解释(常驻内存不断增长).它开始时大约有6MB的驻留,我让它一夜之间运行它已经超过200MB(我这样做是为了排除由于gc导致的锯齿内存使用模式).我把它压缩到这个脚本:

import sys
import time
import paramiko

def update():
    ssh = paramiko.SSHClient()
    ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    try:
        ssh.connect(hostname='localhost')
    finally:
        ssh.close()

def main():
    while(True):
        update()
        time.sleep(0.001)

if __name__ == '__main__':
    sys.exit(main())
Run Code Online (Sandbox Code Playgroud)

我认为问题可能是我一直在实例化一个新的SSHClient并且它们不知何故被抛出,但是这个版本泄漏内存的速度更快!

import sys
import time
import paramiko

ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
def update():
    global ssh
    try:
        ssh.connect(hostname='localhost')
    finally:
        ssh.close()

def main():
    while(True):
        update()
        time.sleep(0.001)

if __name__ == '__main__':
    sys.exit(main())
Run Code Online (Sandbox Code Playgroud)

如果有人能够对此有所了解,或者我只是愚蠢而有人可以指出为什么我会非常感激.谢谢

python paramiko

8
推荐指数
1
解决办法
752
查看次数

标签 统计

paramiko ×1

python ×1