树莓派4B挂着的python脚本跑着跑着被系统terminated

时间:2020-9-12 作者:admin

在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)
声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。