在2G記憶體的樹莓派4B上掛了幾個腳本一直跑著,一般7-10天就會被系統強制殺掉,畢竟python的記憶體優化嘛比較呵呵,
通過下面命令可以直接查看你的記憶體使用狀況
free -h
其中free表示真空著的記憶體,available表示被認為可用的記憶體
所以我做了個定時監控,查看到Avaliable的記憶體小于總記憶體的15%的時候對腳本進行一下重啟
import schedule, psutil, sys, os, threading
def run_thread(jobs):
try:
threading.Thread(target=jobs).start()
except:
pass
def get_memory_status_with_psutil():
mem = psutil.virtual_memory()
#usage = float( mem.used/ mem.total) * 100
#free= float( mem.free/ mem.total) * 100
available= float( mem.available/ mem.total) * 100
return free
def restart():
os.execl(sys.executable, sys.executable, * sys.argv)
def memory_check():
available= get_memory_status_with_psutil()
print(available)
if available< 15:
restart()
if __name__ == "__main__":
schedule.every().hour.do(run_thread, memory_check)
while True:
schedule.run_pending()
time.sleep(1)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/20062.html
標籤:其他
下一篇:python爬蟲之網路請求
