首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Apache进程在不标记access.log的情况下生成

Apache进程在不标记access.log的情况下生成
EN

Stack Overflow用户
提问于 2015-10-30 15:40:59
回答 1查看 256关注 0票数 0

问题: Apache进程是在没有将任何活动记录到access.log的情况下生成的。

mysld被杀死是因为服务器内存耗尽(仅在物理上运行,目前没有交换)。检查了syslog,在那个时候搜索了事件。它开始于

代码语言:javascript
复制
localhost kernel: [5913722.705565] apache2 invoked oom-killer: gfp_mask=0x201da, order=0, oom_score_adj=0

然后是一些我认为与此无关的行,接着是吨(每秒~150,通常不超过10)。

代码语言:javascript
复制
localhost kernel: [5913722.706310] [30772]    33 30772    98583     6989     132        0             0 apache2

最后

代码语言:javascript
复制
Out of memory: Kill process 320 (mysqld) score 228 or sacrifice child
Killed process 320 (mysqld) total-vm:904928kB, anon-rss:113960kB, file-rss:0kB

AFAIK,它们都是apache2进程,它们被生成(主要是)来处理请求。如果是这样的话,请求应该记录在access.log中。在我的情况下不会发生这种情况。

问题:,为什么apache2会产生这么多这样的病毒?我是不是漏掉了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-30 15:53:07

您可能已经配置了Apache,使其使用的内存远远超过所有的ram。这是一个常见的错误。

httpd进程与MySQL进程无关。

httpd进程产生到一定程度,但主要是为了服务最终用户请求--更多的最终用户请求=生成更多的httpd,最多达到配置中设置的限制(例如,256 )。这意味着它将创造256个孩子。

我假设您使用的是Pre叉Apache和进程内应用程序服务器(如PHP或mod_perl)。在此模型中,您将使用最多的内存(每个进程的应用程序的MaxClients*最大内存使用量)。如果你没有那么多,是时候减少一个,另一个或两者。

在一般情况下,这意味着将MaxClients降低到服务器有足够的内存来处理。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33439767

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档