我已经阅读了很多这个网站来优化我的服务器,但没有什么真正帮助我:(我有一个内存的麻烦,我认为,我只有一个网站(Drupal)与860K页面浏览量月份,但当stream量增加,负载平均上升超过+40,+70等100%的内存使用导致服务器完全停机
其实,当我刚刚重新启动服务器的总内存使用率约为80%
Processor #1 to #24 Intel Dual Xeon E5645 @ 2.40GHz Cache 12288 KB 4GB Total RAM Apache/2.2.19 -prefork- (Unix) mod_ssl/2.2.19 OpenSSL/0.9.8e-fips-rhel5 mod_auth_passthrough/2.1 mod_bwlimited/1.4 PHP/5.2.17 500GB HD RAID 1 Drupal based website with Boost module and Cache Router (INNODB tables) APC Installed
top - 23:05:37 up 19:42, 1 user, load average: 0.78, 0.74, 0.64 Tasks: 527 total, 1 running, 524 sleeping, 0 stopped, 2 zombie Cpu(s): 1.7%us, 0.3%sy, 0.0%ni, 97.9%id, 0.1%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 4034276k total, 3774668k used, 259608k free, 279060k buffers Swap: 6088624k total, 103616k used, 5985008k free, 1316080k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 8768 mysql 15 0 1211m 880m 4784 S 12.0 22.4 20:43.44 mysqld 20475 nobody 16 0 429m 176m 27m S 0.0 4.5 0:00.44 httpd 20846 nobody 15 0 427m 176m 28m S 1.0 4.5 0:01.13 httpd 20775 nobody 15 0 422m 171m 29m S 0.0 4.4 0:01.22 httpd 20826 nobody 15 0 422m 171m 29m S 0.7 4.4 0:01.00 httpd 20827 nobody 15 0 423m 171m 28m S 0.7 4.4 0:00.61 httpd 20578 nobody 15 0 422m 171m 29m S 0.0 4.3 0:01.73 httpd 20833 nobody 15 0 422m 170m 28m S 0.0 4.3 0:00.84 httpd 20830 nobody 15 0 421m 170m 28m S 0.0 4.3 0:00.84 httpd 20681 nobody 15 0 422m 170m 28m S 1.0 4.3 0:00.93 httpd 20913 nobody 15 0 422m 170m 27m S 0.0 4.3 0:00.34 httpd 20914 nobody 15 0 422m 169m 27m S 0.0 4.3 0:00.60 httpd 20854 nobody 15 0 423m 167m 23m S 0.0 4.2 0:00.36 httpd 20911 nobody 16 0 418m 167m 28m S 0.3 4.2 0:00.70 httpd
Timeout 300 TraceEnable On ServerSignature Off ServerTokens Full FileETag All StartServers 5 <IfModule prefork.c> MinSpareServers 5 MaxSpareServers 10 </IfModule> ServerLimit 256 MaxClients 150 MaxRequestsPerChild 800 KeepAlive On KeepAliveTimeout 5 MaxKeepAliveRequests 100
[mysqld] max_connections = 120 safe-show-database skip-locking key_buffer = 148M max_allowed_packet = 14M table_cache = 596 sort_buffer_size = 2M read_buffer_size = 2M read_rnd_buffer_size = 2M myisam_sort_buffer_size = 64M thread_cache_size = 24 query_cache_size= 128M thread_concurrency = 48 wait_timeout = 45 innodb_file_per_table innodb_log_file_size = 10485760 open_files_limit = 8192 tmp_table_size=200M max_heap_table_size=200M innodb_buffer_pool_size=596M local-infile=1 log_slow_queries = /var/log/slow.log long_query_time = 3 [mysqldump] quick max_allowed_packet = 16M [mysqld_safe] log-error=/var/log/mysqld.log [mysql] no-auto-rehash [isamchk] key_buffer = 128M sort_buffer_size = 64M read_buffer = 2M write_buffer = 2M [myisamchk] key_buffer = 128M sort_buffer_size = 64M read_buffer = 2M write_buffer = 2M
top - 12:27:13 up 5 days, 9:04, 1 user, load average: 219.36, 189.93, 130.56 Tasks: 750 total, 1 running, 749 sleeping, 0 stopped, 0 zombie Cpu(s): 1.3%us, 1.0%sy, 0.1%ni, 49.7%id, 47.8%wa, 0.0%hi, 0.1%si, 0.0%st Mem: 4034276k total, 4014052k used, 20224k free, 13404k buffers Swap: 6088624k total, 3036872k used, 3051752k free, 71272k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 15653 mysql 15 0 1444m 154m 3384 S 0.0 3.9 192:42.76 mysqld 23800 nobody 16 0 422m 96m 29m D 0.3 2.4 0:06.96 httpd 23527 nobody 16 0 422m 93m 29m D 0.0 2.4 0:05.11 httpd 23759 nobody 15 0 421m 91m 26m S 0.7 2.3 0:03.97 httpd 23842 nobody 16 0 422m 91m 26m D 0.3 2.3 0:04.88 httpd 23819 nobody 16 0 421m 91m 26m D 0.3 2.3 0:07.11 httpd 23739 nobody 16 0 421m 91m 26m D 0.0 2.3 0:10.27 httpd 23778 nobody 15 0 421m 91m 26m S 0.0 2.3 0:04.81 httpd 23790 nobody 15 0 421m 91m 26m S 0.0 2.3 0:03.86 httpd 23754 nobody 16 0 421m 91m 26m D 0.0 2.3 0:08.19 httpd 23700 nobody 16 0 421m 90m 26m D 0.3 2.3 0:05.45 httpd 23843 nobody 16 0 420m 90m 26m S 0.0 2.3 0:06.39 httpd 23510 nobody 16 0 426m 90m 24m D 0.0 2.3 0:04.98 httpd 23841 nobody 16 0 416m 89m 29m D 0.0 2.3 0:03.53 httpd 23836 nobody 15 0 414m 89m 30m S 0.0 2.3 0:05.82 httpd 23849 nobody 15 0 418m 88m 25m S 0.0 2.3 0:05.78 httpd 23833 nobody 16 0 429m 88m 24m D 0.0 2.3 0:05.59 httpd 23832 nobody 16 0 418m 88m 25m S 0.0 2.2 0:09.25 httpd 23746 nobody 16 0 428m 88m 25m D 0.0 2.2 0:04.13 httpd 23851 nobody 16 0 428m 88m 24m D 0.0 2.2 0:03.60 httpd 23816 nobody 15 0 418m 88m 25m S 0.0 2.2 0:07.00 httpd 23282 nobody 15 0 416m 87m 28m S 0.0 2.2 0:11.29 httpd 23742 nobody 15 0 416m 86m 26m S 0.0 2.2 0:09.37 httpd 23837 nobody 16 0 425m 86m 25m D 0.3 2.2 0:05.20 httpd 23093 nobody 16 0 430m 86m 24m D 0.0 2.2 0:04.19 httpd 23732 nobody 16 0 421m 86m 24m D 0.0 2.2 0:05.55 httpd 23772 nobody 15 0 415m 85m 29m S 1.0 2.2 0:14.55 httpd
有人帮助我调整Apache设置,但一切看起来都一样
我已经启用pipe道日志logging应该帮助解决内存问题。 我也缩短了apache进程在内存循环之前要做的请求数量。
我会非常感谢你的帮助,我尝试了几乎所有的东西,我不是一个真正的系统pipe理员,但现在我们还没有人来帮助我们。
谢谢!
一般的经验法则 –
服务器加载时运行该命令:
ps -ylC httpd --sort:rss | awk '{sum+=$8; ++n} END {print "Tot="sum"("n")";print "Avg="sum"/"n"="sum/n/1024"MB"}'
这会告诉你一个Apache进程的平均大小。
这不是一个专门的networking节点,所以说60%的RAM可用于Apache。
4096 * .60 / AVERAGE_SIZE_HTTPD_PROCESS =大约可以服务的MaxClients /请求的数量。 一般来说,看起来你的平均水平在170MB左右
您可以一次处理14个请求。 将MaxClients减less到更合理的数字,如20-25。
干杯
什么?
mod_security模块是内存问题的原因,我禁用它,每个httpd进程从180到35mb!
它从一开始就由我的主机提供商安装和configuration,现在我需要以其他方式增加安全性或正确configuration它。
你确定你需要CacheRouter模块吗? 不止一次,它导致了我类似的问题。 这是一个内存猪(至less当使用memcached),如果没有正确configuration可以使您的网站非常缓慢!
对于你描述的stream量,我认为你可以在没有CacheRouter的情况下生活,Boost可以很方便。 如果没有CacheRouter,你的Apache内存使用量可能会大幅下降,给你的服务器更多的空间来呼吸。 另外,如果您正在使用memcached PHP模块,请将其禁用。 你的Apache似乎正在吃太多的内存。
你的Apache设置也很奇怪。
TimeOut 300
太多了。 把它降到10到30之间。 TraceEnable On
? 为什么? KeepAlive On
会导致更多的伤害比做好事。 你没有尝试过吗? 不是对这个特定问题的答案,但是当我试图解决类似的问题时,这是我一直在寻找的页面。 所以希望能够帮助另一个灯pipe理员….
在我的情况下,我的问题是PHP的get_browser()命令。 在我安装browscap.ini(标准版本)后,我的apache进程的内存使用从10Mb到170Mb。 这运行良好,直到我有一个突然的高峰活动。 更改为browscap.ini的Lite版本,让我回到更容易接受的10MB。