我是一種新的python,我需要整天運行腳本。然而,腳本使用的內存不斷增加,直到蟒蛇崩潰...我試過的東西,但沒有任何工作:(也許我做錯了什麼,我不知道。這是我的代碼是這樣的:如何在python中釋放內存?
while True:
try:
import functions and modules...
Init_Variables = ...
def a bunch of functions...
def clearall(): #Function to free memory
all = [var for var in globals() if var[0] != "_" and var != gc]
for var in all:
del globals()[var]
print('Cleared !')
gc.collect()
TimeLoop() #Getting out of "try" here because TimeLoop isn't defined anymore
def TimeLoop():
for i in range (1,101):
do stuff...
# Free memory after 100 iterations #############################
clearall()
TimeLoop() # Launches my function when i first start the script
except Exception as e:
print(e)
continue
break
經過約50.000迭代「做的東西......」 Python使用約2GB的RAM,然後崩潰:( 我花了幾個小時試圖解決這個問題,但似乎沒有任何工作。任何幫助將是非常讚賞!:D
很有可能不是連續運行相同的腳本,而是最好設置一個cronjob來間隔運行腳本。 – JJJ
就像運行X分鐘的腳本,然後殺死並重新啓動它?這種殘酷但應該工作^^'。但是我想找到一個更柔和的工作哈哈:) –
編號運行腳本,讓它完成,然後重新運行一分鐘後。 – JJJ