Pyshark没有免费资源

时间:2017-07-21 12:03:16

标签: python pyshark

我使用.pcappython中阅读了pyshark个文件。如果我多次阅读该文件,pyshark似乎不会释放资源。仅当我关闭python程序时才会释放资源。

import pyshark

def foo():
  for i in range(100):
      p = pyshark.FileCapture('/tmp/tmp.pcap')
  return

foo()
sleep(100)

在程序开始之前

konstantin@linux-ks:~/Programs/skype-4.3.0.37> cat /proc/net/sockstat
sockets: used 945
TCP: inuse 12 orphan 0 tw 0 alloc 24 mem 0
UDP: inuse 14 mem 4

程序运行时

konstantin@linux-ks:~/Programs/skype-4.3.0.37> cat /proc/net/sockstat
sockets: used 1154
TCP: inuse 12 orphan 0 tw 0 alloc 24 mem 1
UDP: inuse 14 mem 4

我发现缓解问题的唯一方法是不清晰 - 只需增加系统中的打开文件限制即可达到极限。

/etc/security/limits.conf:

*               soft    nofile            10000
*               hard    nofile            10000

你能帮我理解这种令人费解的行为的原因吗? 我认为pyshark或pyshark使用的一些软件包打开了一些文件,但没有正确关闭它。

0 个答案:

没有答案