Python脚本在googlevm上手动运行,但如果放入while true循环进行调度,则会被杀死

2024-03-28 21:33:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个python脚本,当我在googlevm上通过python3 script.py &运行它时,它运行得很好,但是当我用screen分离它并让它自己运行几个迭代时,我回来检查,它就被杀死了。你知道吗

我想这可能与高cpu使用率有关,我试着做了一个while true循环,让程序休眠一段时间,然后我试着使用apscheduler或者仅仅scheduler或者甚至nice -n 19 python3 script.py但是都没有成功,问题是这个脚本第一次甚至前两次似乎运行得很好,但是后来它被杀死了。你知道吗

这是我如何运行我的脚本,有没有任何我可以解决这个问题,而不增加我的CPU?我想我在虚拟机上有一台小机器。你知道吗

schedule.every(10).minute.do(scheduled_job)
print('STARTED PROGRAM')

while True:
    schedule.run_pending()
    time.sleep(1)

Tags: py程序脚本truescriptcpuscreenpython3
1条回答
网友
1楼 · 发布于 2024-03-28 21:33:36

使用/usr/bin/time verbose python3 script.py来度量单个作业运行所使用的内存,或者使用ps axutop来度量连续循环任务所使用的内存。验证malloc小于VM容器同意提供的值。你知道吗

如果在小型linux主机上测试时发现进程被杀死,请在日志中查找线索:$ zgrep oom /var/log/{syslog,messages}*

相关问题 更多 >