嘟嘟社区

[疑问] python程序被自动kill?


本帖最后由 emptysuns 于 2022-2-10 21:36 编辑

昨晚跑了个py在az b1s上,今天看了看,输出打印最后一行写着killed?
不知道被那个进程杀死了,dmesg查了一下是内核干的

  1. [3929297.928465] Out of memory: Kill process 22473 (python3.7) score 908 or sacrifice child
  2. [3929297.928508] Killed process 22473 (python3.7) total-vm:3596016kB, anon-rss:791068kB, file-rss:4kB, shmem-rss:0kB
  3. [3929297.989399] oom_reaper: reaped process 22473 (python3.7), now anon-rss:0kB, file-rss:0kB, shmem-rss:0kB

复制代码

大体的log是内存超了,swap也不够了,为了系统安全给我自动killed,但是相同脚本在aws ec2 tiny上完全没问题顺利跑完,看了看内存一直保持在30%左右,肿么会这样?微软的ubuntu镜像有问题吗?

期待一个大手子,为我答个疑。

脚本类语言内存泄漏还不是家常便饭
超兽鸡。表面数据很漂亮。邻居稍微用力顶一下你的程序就挂了
机器配置好,咋折腾都不会killed,超兽机器轻轻一碰就kill
该升级配置了。
升级配置可解

toot 发表于 2022-2-10 21:35
超兽鸡。表面数据很漂亮。邻居稍微用力顶一下你的程序就挂了

承认我贪了点,线程开的有点多,100左右吧
但是就一个单纯的get操作,炸倒不至于

通常30线程已经足够跑满了。。

100线程嘛。。。自己骗自己。。

本帖最后由 emptysuns 于 2022-2-10 22:09 编辑

teardrops 发表于 2022-2-10 21:54
通常30线程已经足够跑满了。。

这个cpu开销小,甚至开100 thread,cpu使用率才到30%-40%,因为timeout时间长,才拉的这么高

本帖最后由 emptysuns 于 2022-2-10 22:11 编辑

HOH 发表于 2022-2-10 22:02
脚本类语言内存泄漏还不是家常便饭

我想着python有垃圾回收机制的,咋会内存泄漏呢。

应该是我写了个全局list,不停从里面插数据导致的泄漏,大师我悟了