Dường như chúng tôi có thể có vấn đề bộ nhớ (đang phát triển) trong httpd apache của chúng tôi ở đâu đó.apache httpd sử dụng hết mem cho đến khi treo
pic nhanh: http://screencast.com/t/NGAzarD87O
Chú ý rằng nó được chạy tốt trên các máy chủ gốc (vật lý) trong một thời gian. Bây giờ trên máy ảo mới (với bộ nhớ nhiều hơn và CPU), nó chạy nhưng từ từ ăn đi tại mem/hoán đổi cho đến khi hệ thống treo.
Nếu tôi khởi động lại httpd, mem sẽ nhảy lùi lại (nếu chúng tôi bắt được).
httpd.x86_64 2.2.3-76.el5_9 installed
PHP 5.1.6 (cli) (built: Jun 22 2012 06:20:25)
MySQL Server version: 5.0.95
Tôi không nghĩ nó có thể là bất kỳ tập lệnh nào chạy/etc khi chúng chạy tốt trong nhiều năm trên máy vật lý. Chúng tôi đã cố gắng để phù hợp với tất cả các cấu hình (http, php, vv) trên máy mới nhưng không thể tìm ra lý do tại sao httpd tiếp tục phát triển.
$ ps -ylC httpd --sort:rss
S UID PID PPID C PRI NI RSS SZ WCHAN TTY TIME CMD
S 0 13814 1 0 78 0 29208 68382 - ? 00:00:00 httpd
S 48 20854 13814 0 76 0 34876 70930 semtim ? 00:00:00 httpd
S 48 20853 13814 0 75 0 36592 71387 semtim ? 00:00:00 httpd
S 48 13822 13814 0 75 0 36780 71430 semtim ? 00:00:00 httpd
S 48 20696 13814 0 75 0 37092 71520 semtim ? 00:00:00 httpd
S 48 13821 13814 0 75 0 37184 71529 semtim ? 00:00:01 httpd
S 48 13820 13814 0 75 0 37220 71527 - ? 00:00:01 httpd
S 48 13824 13814 0 75 0 37236 71513 semtim ? 00:00:01 httpd
S 48 13818 13814 0 75 0 37636 71547 semtim ? 00:00:01 httpd
S 48 13819 13814 0 75 0 37636 71617 semtim ? 00:00:01 httpd
S 48 13823 13814 0 75 0 37888 71689 semtim ? 00:00:01 httpd
S 48 13825 13814 0 75 0 37900 71676 semtim ? 00:00:01 httpd
UPDATE: khi viết câu hỏi này ra (có thể 10-15 phút) Tôi reran trên và RSS đều ngồi ở ~ 51.072 thay vì ở trên tại ~ 37000
Dưới đây là một hoạt động từ các cài đặt mem python program
Private + Shared = RAM used Program
.... SNIPPED OUT ....
208.0 MiB + 25.5 MiB = 233.5 MiB httpd (12)
---------------------------------
477.1 MiB
PHP:
max_execution_time = 30
max_input_time = 60
memory_limit = 152M
Modules:
$ apachectl -M
httpd: Could not reliably determine the server's fully qualified domain name, using 192.168.1.2 for ServerName
Loaded Modules:
core_module (static)
mpm_prefork_module (static)
http_module (static)
so_module (static)
auth_basic_module (shared)
auth_digest_module (shared)
authn_file_module (shared)
authn_alias_module (shared)
authn_anon_module (shared)
authn_dbm_module (shared)
authn_default_module (shared)
authz_host_module (shared)
authz_user_module (shared)
authz_owner_module (shared)
authz_groupfile_module (shared)
authz_dbm_module (shared)
authz_default_module (shared)
ldap_module (shared)
authnz_ldap_module (shared)
include_module (shared)
log_config_module (shared)
logio_module (shared)
env_module (shared)
ext_filter_module (shared)
mime_magic_module (shared)
expires_module (shared)
deflate_module (shared)
headers_module (shared)
usertrack_module (shared)
setenvif_module (shared)
mime_module (shared)
dav_module (shared)
status_module (shared)
autoindex_module (shared)
info_module (shared)
dav_fs_module (shared)
vhost_alias_module (shared)
negotiation_module (shared)
dir_module (shared)
actions_module (shared)
speling_module (shared)
userdir_module (shared)
alias_module (shared)
rewrite_module (shared)
proxy_module (shared)
proxy_balancer_module (shared)
proxy_ftp_module (shared)
proxy_http_module (shared)
proxy_connect_module (shared)
cache_module (shared)
suexec_module (shared)
disk_cache_module (shared)
file_cache_module (shared)
mem_cache_module (shared)
cgi_module (shared)
version_module (shared)
perl_module (shared)
php5_module (shared)
proxy_ajp_module (shared)
python_module (shared)
ssl_module (shared)
Syntax OK
thiết lập httpd.conf:
IfModule prefork.c> ignore format on these tags
StartServers 8
MinSpareServers 5
MaxSpareServers 20
ServerLimit 256
MaxClients 256
MaxRequestsPerChild 4000
# worker MPM
StartServers 2
MaxClients 150
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild 0
Sử dụng chương trình tại https://code.google.com/p/check-httpd-limits/wiki/Documentation Tôi đã nhận:
Check Apache Httpd MPM Config Limits (Version 2.4) by Jean-Sebastien Morisset - http://surniaulula.com/ Httpd Binary - CONFIG : /etc/httpd/conf/httpd.conf - EXE : /usr/sbin/httpd - MPM : prefork - ROOT : /etc/httpd - VERSION : 2.2 Httpd Processes - PID 10860 (httpd) : 106.93 MB/ 3.95 MB shared - PID 13814 (httpd) : 28.52 MB/ 6.36 MB shared [excluded from averages] - PID 13818 (httpd) : 180.28 MB/ 4.29 MB shared - PID 13819 (httpd) : 182.67 MB/ 4.04 MB shared - PID 13820 (httpd) : 182.45 MB/ 4.08 MB shared - PID 13821 (httpd) : 185.53 MB/ 4.04 MB shared - PID 13822 (httpd) : 176.12 MB/ 4.36 MB shared - PID 13823 (httpd) : 180.05 MB/ 4.04 MB shared - PID 13824 (httpd) : 182.21 MB/ 4.05 MB shared - PID 13825 (httpd) : 179.36 MB/ 4.04 MB shared - PID 20696 (httpd) : 180.10 MB/ 4.04 MB shared - PID 20853 (httpd) : 180.39 MB/ 4.03 MB shared - PID 20854 (httpd) : 180.79 MB/ 4.04 MB shared - PID 21003 (httpd) : 159.77 MB/ 4.05 MB shared - HttpdRealAvg : 166.09 MB [excludes shared] - HttpdSharedAvg : 4.05 MB - HttpdRealTot : 2225.76 MB [excludes shared] - HttpdRunning : 14 Httpd Config - StartServers : 8 - ServerLimit : 256 - MinSpareServers : 5 - MaxSpareServers : 20 - MaxRequestsPerChild : 4000 - MaxClients : 256 Server Memory - Cached : 671.46 MB - MemFree : 547.88 MB - MemTotal : 3819.89 MB - SwapFree : 5951.89 MB - SwapTotal : 5951.99 MB Calculations Summary - OtherProcsMem : 370.74 MB (MemTotal - Cached - MemFree - HttpdRealTot - HttpdSharedAvg) - FreeMemNoHttpd : 3449.15 MB (MemFree + Cached + HttpdRealTot + HttpdSharedAvg) - MaxLimitHttpdMem : 42523.09 MB (HttpdRealAvg * MaxClients + HttpdSharedAvg) - AllProcsTotalMem : 42893.83 MB (OtherProcsMem + MaxLimitHttpdMem) Maximum Values for MemTotal (3819.89 MB) StartServers 8 # (no change) Default is 5 ServerLimit 21 # (256 -> 21) MaxClients MinSpareServers 5 # (no change) Default is 5 MaxSpareServers 20 # (no change) Default is 10 MaxRequestsPerChild 4000 # (no change) Default is 10000 MaxClients 21 # (256 -> 21) (MemFree + Cached + HttpdRealTot + HttpdSharedAvg)/HttpdRealAvg Result ERROR: AllProcsTotalMem (42893.83 MB) exceeds MemTotal (3819.89 MB) and free swap (5951.89 MB) by 33122.05 MB.
Không chắc chắn nếu nó sẽ giúp, nhưng bạn có thể thử vô hiệu hóa một số mô-đun bạn không cần. Chúng cũng là mối nguy hiểm về an ninh tiềm ẩn. Ví dụ: bạn có thực sự muốn tự động lập chỉ mục không? –
bất kỳ đề xuất nào về nơi bắt đầu? Một lần nữa, đây là những mô-đun tương tự được tải trên máy chủ cũ. Cấp cài đặt mới này có thể đã bị hỏng mô-đun tôi đoán. – Douglas
Những gì tôi đã làm với máy chủ của tôi là các mô-đun bị hủy bỏ cho đến khi một số lỗi hoặc bị gián đoạn đã ném một lỗi khi khởi động. Nếu bạn không muốn đi qua điều này, một số tốt để loại bỏ là autoindex, bí danh, proxy_ *, cgi, perl, php, python (trừ khi bạn đang sử dụng ngôn ngữ). Ngoài ra, bạn đã xác nhận rằng máy chủ của bạn không chỉ hoạt động? Thiết lập nhật ký truy cập và kiểm tra nhật ký lỗi nếu bạn chưa đăng nhập. –