apache占用内存过高耗完内存?

top M结果

Tasks: 129 total,   1 running, 128 sleeping,   0 stopped,   0 zombie
Cpu(s):  9.3%us,  1.6%sy,  0.0%ni, 88.7%id,  0.0%wa,  0.0%hi,  0.2%si,  0.2%st
Mem:   8028516k total,  7983756k used,    44760k free,    36444k buffers
Swap:  2097144k total,     3328k used,  2093816k free,  7151420k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                            
17052 apache    20   0  318m  23m 8140 S  0.0  0.3   0:03.81 httpd                                                                               
17184 apache    20   0  318m  22m 7808 S  1.0  0.3   0:01.83 httpd                                                                               
17198 apache    20   0  317m  22m 7960 S  2.3  0.3   0:00.40 httpd                                                                               
17183 apache    20   0  317m  22m 7640 S  0.0  0.3   0:01.71 httpd                                                                               
17124 apache    20   0  316m  21m 7980 S  8.5  0.3   0:03.83 httpd                                                                               
17127 apache    20   0  317m  21m 7468 S  1.0  0.3   0:02.36 httpd                                                                               
16966 apache    20   0  315m  20m 8260 S  9.1  0.3   0:08.26 httpd                                                                               
17193 apache    20   0  316m  20m 7812 S  2.3  0.3   0:00.48 httpd                                                                               
17083 apache    20   0  316m  20m 7672 S  0.0  0.3   0:02.48 httpd                                                                               
17049 apache    20   0  315m  20m 7940 S  1.3  0.3   0:04.84 httpd                                                                               
17176 apache    20   0  315m  20m 7892 S  0.0  0.3   0:01.68 httpd                                                                               
17199 apache    20   0  315m  20m 7324 S  0.0  0.3   0:00.92 httpd                                                                               
17156 apache    20   0  315m  19m 7444 S  0.0  0.3   0:02.70 httpd                                                                               
17186 apache    20   0  315m  19m 7476 S  1.0  0.3   0:01.19 httpd                                                                               
17118 apache    20   0  314m  19m 8188 S  0.0  0.3   0:03.42 httpd                                                                               
17188 apache    20   0  315m  19m 7440 S  9.1  0.2   0:01.84 httpd                                                                               
17076 apache    20   0  314m  19m 7648 S  0.0  0.2   0:03.00 httpd                                                                               
17195 apache    20   0  308m  19m 5068 S  1.6  0.2   0:00.74 httpd                                                                               
17196 apache    20   0  308m  19m 5292 S  0.0  0.2   0:00.55 httpd                                                                               
17177 apache    20   0  313m  17m 7256 S  1.3  0.2   0:00.18 httpd                                                                               
17197 apache    20   0  305m  16m 4216 S  1.0  0.2   0:01.11 httpd 

httpd.conf的配置

<IfModule worker.c>
StartServers         4
MaxClients         300
MinSpareThreads     25
MaxSpareThreads     75
ThreadsPerChild     25
MaxRequestsPerChild  20000
</IfModule>

keepalive是off了的
1个小时前清理了内存,还有7G,一个小时过后看又耗干了,请问什么问题呢?没看出那个进程特别占用内存啊,谢谢

阅读 7.3k
2 个回答

apache总共也没耗多少内存

top -o %MEM -n1

按照内存排序看看结果

你的top输出结果很正常,free的值比较小是内存大部分被cached用掉了,cached是Linux下用于磁盘文件的缓存,linux会尽可能多的的将多余的内存用于缓存磁盘文件,当系统进程需要内存时,linux会自动释放这部分内存的。
只有当cached很小或者Swap的used很大的时候才表示内存吃紧了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题