Mysql

無法保持 1GB RAM Centos 伺服器執行

  • February 28, 2011

這是我第一次配置 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 的,所以不要盲目地“根據網際網路”複製配置。:)

短版:縮減您的 httpdMaxClientsServerLimit變數,以防止 30 多個 httpd 程序啟動。我會從 10 或 15 之類的東西開始,這取決於您的程序的平均大小,以及您給 MySQL 多少空間。請注意,當所有客戶端程序都忙時,httpd 的行為將拒絕請求。

引用自:https://serverfault.com/questions/240990