gpt4 book ai didi

python - 为什么我的应用程序会泄漏内存?如何避免内存泄漏?

转载 作者:太空狗 更新时间:2023-10-30 01:22:47 26 4
gpt4 key购买 nike

我正在编写一个 OPC 客户端,所以我使用 Python OpenOPC 库。

问题是每次我读取 OPC 项目列表时,我的应用程序都会消耗内存。

例如,以下代码在每次迭代时消耗大约 100ko :

#!/usr/bin/python
# -*- coding: utf-8 -*-

import OpenOPC
import time
import gc

gc.set_debug(gc.DEBUG_LEAK)

client = OpenOPC.client()
while True:
client.connect('CODESYS.OPC.DA')
dataList = client.list("PLC2.Application.GVL.*")
res = client.read(dataList)
client.close()
print gc.collect()
print gc.garbage

time.sleep(2)

垃圾收集器返回:

0
[]

当我关闭应用程序时释放内存。

所以我不明白为什么我的应用会泄漏内存以及如何避免这种情况。

你有什么想法吗?谢谢

最佳答案

通过使用 read() 函数的组参数找到解决方案:

#!/usr/bin/python
# -*- coding: utf-8 -*-

import OpenOPC

client = OpenOPC.client()
client.connect('CODESYS.OPC.DA')
tags = client.list("PLC2.Application.GVL.*")
while True:
res = client.read(tags, group='MyGroup')
client.close()

关于python - 为什么我的应用程序会泄漏内存?如何避免内存泄漏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19137947/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com