长时间运行的线程,没有漏洞

时间:2019-02-17 14:47:21

标签: python-3.x recursion long-running-processes

我在长时间运行的python脚本项目上工作,没有挂起甚至遇到错误。但是内存会不断积累,所以我的想法是使用另一个线程来每30秒检查一次计算机中的可用内存使用情况,并将信息保存在日志文件中。

    def cpuInfo(self):
        memory = psutil.virtual_memory().free
        ...
        time.sleep(self.timeInterval)
        self.cpuInfo()

但是在几个小时或几天后,它将遇到股份溢出。

RecursionError: maximum recursion depth exceeded in comparison
Call stack:
  File "/usr/lib/python3.6/threading.py", line 884, in _bootstrap
    self._bootstrap_inner()
  File "/usr/lib/python3.6/threading.py", line 916, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3.6/threading.py", line 864, in run
    self._target(*self._args, **self._kwargs)
  File "/home/x/memory.py", line 41, in cpuInfo
    self.cpuInfo()
  File "/home/x/memory.py", line 41, in cpuInfo
    self.cpuInfo()
  File "/home/x/memory.py", line 41, in cpuInfo
    self.cpuInfo()
  [Previous line repeated 976 more times]

是否有解决它的想法,或者使它以其他方式无限运行,除非用户终止它?

0 个答案:

没有答案