Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何避免使用python编写代码_Python_Out Of Memory - Fatal编程技术网

如何避免使用python编写代码

如何避免使用python编写代码,python,out-of-memory,Python,Out Of Memory,我用python编写了一个爬虫程序,但它经常导致oom killer,oom killer使linux冻结,我无法通过ssh连接到操作系统。如果内存 使用率超过80%[memusage=(MemTotal-MeMFree-Buffers-Cached)/MemTotal],重新启动爬虫程序。但这似乎不起作用。所以我的问题是,如何避免oom杀手,即使发生oom杀手,有什么方法可以避免冻结整个操作系统 当oom杀手发生时,屏幕会打印下面的信息,谁能向我解释这些信息 ve:okB present:16

我用python编写了一个爬虫程序,但它经常导致oom killer,oom killer使linux冻结,我无法通过ssh连接到操作系统。如果内存
使用率超过80%[memusage=(MemTotal-MeMFree-Buffers-Cached)/MemTotal],重新启动爬虫程序。但这似乎不起作用。所以我的问题是,如何避免oom杀手,即使发生oom杀手,有什么方法可以避免冻结整个操作系统

当oom杀手发生时,屏幕会打印下面的信息,谁能向我解释这些信息

ve:okB present:16256kB Pages_scanned:173280531 all_unreclaimable? yes
[9132.468227] lowmem_reserve[]: 0  829  829  829
[9132.468403]Normal free:3628kB  min:3648kB  low:4568kB  high:5472kB  active:614280kB  inactive:22508kB  present:849376kB  pages_scanned:1415839762 all_unreclaimable? yes
[9132.468713] lowmem_reserve[]: 0  0  0  0
[9132.468883]DMA: 0.4kB  1.8kB  1*16kB  1,32kB  0*64kB  0*128kB  1*256kB  0*512kB  1*1024kB  1*2048kB  0*4096kB = 3384kB
[9132.469286]Normal:7.4kB 5*8kB 0*16kB 1*32kB 1*64kB 1*128kB 1*256kB 0*512kB 1*1024kB 1*2048kB 0*4096kB = 3620kB
[9132.469674]Swap cache:add 0, delete 0, find 0/0, race 0+0
[9132.469825]Frees swap = 0kB
[9132.469905]Total swap = 0kB
[9132.469986]Free swap:        0kB
[9132.472289]218112 pages of RAM
[9132.472386]0 pages of HIGHMEM
[9132.472469]44668 reserved pages
[9132.472553]5732 pages shared
[9132.472634]0 pages swap cached
[9132.472760]0 pages dirty
[9132.472837]0 pages writeback
[9132.472919]874 pages mapped
[9132.472999]3343 pages slab
[9132.473082]392 pages pagetables

OOM杀手对我来说是unix中最奇怪的部分之一,似乎从来没有用所有内存来跟踪这个过程

解决方案是不要让python进程消耗太多内存。您可以通过安装更多内存暂时缓解问题

然而,长期的解决方案是编写爬虫程序,这样它就不会占用你所有的内存


在没有看到您的代码的情况下,我们只能猜测所有内存的去向。

OOM杀手对我来说是unix中最奇怪的部分之一,似乎从来没有使用所有内存来跟踪进程

解决方案是不要让python进程消耗太多内存。您可以通过安装更多内存暂时缓解问题

然而,长期的解决方案是编写爬虫程序,这样它就不会占用你所有的内存


在看不到代码的情况下,我们只能猜测所有内存的去向。

据我所知,您没有交换分区或禁用了它,请尝试添加交换。
由于没有交换,它无法从内存中移出脏页,系统可能会冻结。

据我所知,您没有交换分区或禁用它,请尝试添加交换。
由于没有交换,它无法从内存中清除脏页,系统可能会冻结。

只有当您确实在消耗内存时,OOM杀手才会启动。你确定你需要在你的应用程序中使用OOM吗?只有当你真的在消耗内存时,OOM杀手才会出现。您确定需要在应用程序中添加内存吗?您的计算机内存非常低,或者您的程序中一定存在严重的内存泄漏。解决了这个问题,你就不需要问这个问题了。要么你的机器内存很低,要么你的程序内存泄漏很严重。解决了这个问题,你就不需要问这个问题了。