無法保持 1GB RAM Centos 伺服器執行
這是我第一次配置 VPS 伺服器,我遇到了一些問題。我們在根據網際網路配置的 1GB Centos 伺服器上執行 Wordpress(線上研究)。沒有自定義查詢或任何瘋狂但關閉 8K 文章。每隔一段時間,伺服器就會停機。從客戶端,它只是說“正在載入……”並且會或多或少無限期地旋轉。在伺服器端,shell 將完全鎖定。我們必須從控制面板進行硬重啟,然後一切都很好。
看著“頂部”,我發現它通常在 35 - 55% 的記憶體使用率之間徘徊,偶爾會飆升至 80% 左右。當我看到它出現故障時,大約有 30 到 40 個 Apache 程序顯示將記憶體推到了邊緣。“error_log”告訴我在每次重啟實例之前就達到了 maxclients。我試過修補它,但無濟於事。
我認為我們可能需要將伺服器提升到下一個 RAM 級別,但每月的頁面瀏覽量約為 120K,這似乎有點矯枉過正,因為它之前在共享伺服器上執行得相當好。
有任何想法嗎?httpd.conf 和 my.cnf 值要加嗎?如果有幫助,我會用目前的更新。
提前致謝!這是一次有趣且重要的學習經歷,但總的來說,非常令人沮喪!
編輯:快速頂部快照:
top - 15:18:15 up 2 days, 13:04, 1 user, load average: 0.56, 0.44, 0.38 Tasks: 85 total, 2 running, 83 sleeping, 0 stopped, 0 zombie Cpu(s): 6.7%us, 3.5%sy, 0.0%ni, 89.6%id, 0.0%wa, 0.0%hi, 0.1%si, 0.0%st Mem: 2051088k total, 736708k used, 1314380k free, 199576k buffers Swap: 4194300k total, 0k used, 4194300k free, 287688k cached
如果您的伺服器無法處理啟動 30-40 個 httpd 程序(它不能),那麼不要讓它。在我對這個問題的回答中,我詳細介紹了 LAMP 配置。我給出的範例是針對 512 MiB VPS 的,所以不要盲目地“根據網際網路”複製配置。:)
短版:縮減您的 httpd
MaxClients
和ServerLimit
變數,以防止 30 多個 httpd 程序啟動。我會從 10 或 15 之類的東西開始,這取決於您的程序的平均大小,以及您給 MySQL 多少空間。請注意,當所有客戶端程序都忙時,httpd 的行為將拒絕請求。