我在 VPS 上运行一个 python 脚本,但遇到一个问题,即脚本不断被终止。
我在使用 2GB RAM 服务器配置时就已经遇到过这个问题,然后我升级到 4 GB,似乎问题得到了解决(至少持续了 2-3 天 - 但现在又出现了),但如果我检查内存图,我会看到服务器负载最大为内存的 20%,但仍然被杀死。
cmd“grep Killed /var/log/syslog”的输出如下:
May 8 07:42:04 ubuntu kernel: [307104.437195] Out of memory: Killed process 28187 (python3) total-vm:4503732kB, anon-rss:2885740kB, file-rss:0kB, shmem-rss:0kB, UID:0 pgtables:6780kB oom_score_adj:0
May 8 07:50:46 ubuntu kernel: [307627.171853] Out of memory: Killed process 28387 (python3) total-vm:4569972kB, anon-rss:2887600kB, file-rss:0kB, shmem-rss:0kB, UID:0 pgtables:6772kB oom_score_adj:0
May 8 07:55:18 ubuntu kernel: [ 213.775489] Out of memory: Killed process 1944 (python3) total-vm:4927788kB, anon-rss:3209304kB, file-rss:2460kB, shmem-rss:0kB, UID:0 pgtables:7216kB oom_score_adj:0
May 8 08:01:31 ubuntu kernel: [ 586.779207] Out of memory: Killed process 2111 (python3) total-vm:4593116kB, anon-rss:3205464kB, file-rss:0kB, shmem-rss:0kB, UID:0 pgtables:7156kB oom_score_adj:0
我能做什么吗?
这是内存负载截图。(是的,内存负载有 98% 峰值,但这只是运行脚本时 4 次尝试中的 2 次。这意味着在其他情况下,它甚至会在内存负载为 20% 时停止运行)
顺便说一句,我认为图像上的时间与上面日志中的时间相同,但您必须进行 -2h 减法。
答案1
谢谢大家的提示,我已经知道问题出在哪里了。我甚至一次用 32 个线程读取网站(多线程)。我将线程数降低到 1,以便一个接一个地读取网站(串行),我注意到有些网站在进行无限输出,导致内存崩溃。
具体来说,这是顺便说一下这个网站www.dead-episode.de:D 这是内存崩溃网站的好名字。