昨天因為最近cron的執行異常於是就嘗試使用SuperCron
用的是6.x-2.x-dev
結果整個網站的反應就變慢了
不過Search Index的進度有改變,cron有確實執行
昨晚在一次設定調整後
整個站就完全沒反應
早上起來就接到通知被停權了
詢問了一下,竟說我的網站RAM的耗用高達該機的50%
而該機的記憶體是8G耶
這到底是怎麼回事?
實在很納悶,好像也沒聽說drupal記憶體用量會這麼高
之前聽到的128RAM就很夠用了
而且站內內容也才幾百篇
怎麼會這樣勒~
您在這裡
使用者登入
最新文章
回應
3 年 5 個月 之前
6 年 5 個月 之前
6 年 6 個月 之前
6 年 6 個月 之前
6 年 6 個月 之前
6 年 6 個月 之前
6 年 6 個月 之前
6 年 6 個月 之前
6 年 6 個月 之前
6 年 6 個月 之前
Re: 主機被停權
很多人都犯了一些錯誤,不知你有沒有
設定 PHP memory_limit 很大 + PHP 執行時間很長
需要留意,memory_limit 並不是主機的 RAM 限制,這純是 PHP 單一線程的限制
假如你的程式使用了 32MB,10 個人同時讀取 (注意是同時並發)
32MB * 10 = 320 MB (這是*一刻*時間所用到的記憶體)
說實話 10 個人並發,不是那麼簡單的,不是很多網站有這種流量, LOL (當然這裏沒計算很多因素 APACHE ..etc)
問題是,有一些 PHP 程式鎖死了,運作不良
一個運行 10s 或更長時,你又不停執行的話...
32MB * 10 * 10 .....
就變得很大....(記憶體永遠不釋放)
而 Drupal Cron 並不是,我在瀏覽器把它關了,就會停止下來,而是一直運行直至結束
所以你的情況可能是建立 Search Index 過密,SERVER 反應不過來,重重復復地運個不停
---
notaBlueScreen
Re: 主機被停權
所以memory_limit應該要怎麼設?
常出現記憶體耗盡的訊息時,不是只能把memory_limit加上去才能跑嗎?
所以當某個程式沒跑完又繼續下指令時就會出現這種問題?
cron執行的太密集是不是有可能導致記憶體耗用太多?
還有若是用虛擬主機,有辦法終止某程式的運行嗎?
Re: 主機被停權
要用到也無法 (但為什麼用到這麼高呢,我覺得這才是重要)
CPanel 有 kill process
不常發生的大可暫時忽略,當作意外處理
---
notaBlueScreen
Re: 主機被停權
突然間,我想起錯的人是我,哈哈
設定很大,並不會一定每次用光光的,這點我要說清楚一點 (最重要是不要無限設大,而想方法解決,不易的說)
但也不能永遠設定很大,因為有很多未知的 BUG 存在,遇上就很慘
---
notaBlueScreen
Re: 主機被停權
http://drupal.org/project/instant_search
用這個來做索引吧~別再依靠 cron 了~
Re: 主機被停權
該機的記憶體是8G
有些主機商好像會同一台主機中可能還有放其它的網站
並非有錢就是快樂,問心無愧心最安。 (靜思語錄)