我在长时间运行的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]
是否有解决它的想法,或者使它以其他方式无限运行,除非用户终止它?