python - Python脚本在google vm上手动运行,但如果放入while true循环以进行调度,则会被杀死
问题描述
我有一个 python 脚本,当我通过谷歌 vm 运行它时运行良好python3 script.py &
,但是当我用 a 分离它screen
并让它自己运行几次迭代时,我回来检查它并被杀死。
我认为这可能与高 cpu 使用率有关,我尝试做一个真正的循环并让程序休眠一段时间,然后我尝试使用apscheduler
或只是scheduler
或什至nice -n 19 python3 script.py
但都没有成功,问题是脚本似乎第一次甚至前两次运行良好,但随后被杀死。
这是我运行脚本的方式,无论如何我可以在不增加 CPU 的情况下解决这个问题吗?我想我在vm上有一台小机器。
schedule.every(10).minute.do(scheduled_job)
print('STARTED PROGRAM')
while True:
schedule.run_pending()
time.sleep(1)
解决方案
用于/usr/bin/time --verbose python3 script.py
测量单个作业运行使用的内存,或使用ps axu
或top
为连续循环任务执行此操作。确认您的 malloc 少于 VM 容器同意提供的。
如果您在小型 linux 主机上测试时看到您的进程被终止,请在日志中查找线索:$ zgrep oom /var/log/{syslog,messages}*
推荐阅读
- amazon-web-services - 如何在 AWS SDK v3 JavaScript 中设置凭证?
- excel - 如果两个工作簿中的两列具有相同的值,我想将数据从一个工作簿复制到另一个工作簿
- android - 为什么基于ffmpeg的android视频播放器无法同步视频时间和音频时间?
- android - 输入'未来
' 不是类型 'Future 的子类型 ' , 迁移到空安全后出错 - r - 使用 lapply 和 dplyr 计算跨多个列的组列的描述性统计信息(平均值、标准差、n),得到 NA 值
- entity-framework - 如何将主 ID 传递给详细外键?
- iphone - 谷歌操作在 iPhone 的谷歌助手应用程序中不起作用
- typescript - 当我使用 const 作为选项时,Multer 不保存文件
- javascript - 使用 react-sortable-hoc 在 xy 轴上对网格进行排序
- clickhouse - 为什么clickhouse写批记录慢?