Apache 記憶體暴增解決方法

2021-09-22 04:02:02 字數 578 閱讀 1531

前陣子總是發現 httpd 程序的使用記憶體總量居然達到了上百mb,有時甚至上gb,真是誇張。apache 是架在 squid 的後面,照理說不應該出現這種情況。通過排查,發現是 apache 中開啟了持續長連線導致。

apache 程序的記憶體使用是 "遞增/漸進" 式的,也就是在當前程序的 httpd 過程中,記憶體使用是持續增加的,也就是說在該程序退出之前,記憶體是持續增加的。主要是由於下面三個引數來控制。

keepalive on設定是否要開啟持續長連線,由於前面有 squid,因此在這裡把它開啟

maxkeepaliverequests 50在一次持續長連線中,最多允許接收幾次請求,如果設定太大的話,很可能導致 httpd

程序持續消耗很多記憶體,因此可以選擇乙個適當的值,因為重新建立乙個新的程序也是要有一定開銷的

keepalivetimeout 5設定乙個長連線在沒有活動後等待多久自動關閉,可以設定小一點,不過跟上面的類似,如果太小的話,也會導致頻繁建立新的程序

現在,調整完上面的引數後,會發現 httpd 程序不再象以前那樣狂吃記憶體了。

WebView記憶體洩漏解決方法

webview記憶體洩漏解決方法前言 在專案的開發過程中,由於對記憶體要求較高,最近對應用的記憶體分析比較在意,前段時間監控記憶體,對bitmap造成的記憶體洩漏進行了分析,並解決了問題。但是在記憶體洩漏之後,發現在訪問網頁的時候,webview竟然也會有記憶體洩漏,雖然記憶體占用很小,但是使用者多...

Apache2 2 6 無法啟動解決方法

軟體 apache伺服器軟體 版本 apache 2.2.6 win32 x86 no ssl.msi 起因 通過bin目錄下httpd.exe啟動 start 異常 syntax error on line 133 of c program files apache group apache2 c...

android記憶體溢位的解決方法

1.當專案中包含大量,或者過大 方法1 等比例縮小 複製內容到剪貼簿 bitmapfactory.options options new bitmapfactory.options options.insamplesize 4 方法2 對採用軟引用,及時地進行recyle 操作 複製內容到剪貼簿 s...