2016-11-10 91 views
-1

我在共享主機環境中,最近出現內存分配錯誤。然後,我檢查了cPanel中的PHP,並且我看到內存限制是1024M,但是我的RAM只有512M。然後我搜索了它,我看到這個post表示RAM需要大於PHP內存限制。並且還說,我可以使用ini_set()手動設置內存限制低於RAM。共享主機環境中的PHP memory_limit

我的問題是:

  1. (對於第二個意見)我應該手動配置的內存限制?低於RAM?
  2. 什麼是最好的memory_limit尺寸我應該把如果RAM是512M?
  3. 如果有的話,我配置成功,分配內存錯誤會消失嗎?
  4. 這是否會降低我的網站的性能?
  5. 我的網站的性能會發生什麼變化? [好和壞]

UPDATE

在這裏,我再次得到了一個錯誤:

couldn't create child process: /opt/suphp/sbin/suphp for 
+0

512應該很多。我會看看你的腳本,看看爲什麼它需要超過512M的內存。 – bassxzero

+0

你的內存分配錯誤是什麼?如果沒有足夠的RAM,PHP應該只交換到磁盤。我不認爲你引用的帖子是正確的,你很可能會將它設置爲比系統RAM更多。 –

+0

如果一個腳本需要多於512MB的RAM,那麼你做錯了什麼。你有沒有診斷出現這個問題的地方? – Xorifelse

回答

0

首先的(答案#1)PHP內存位於RAM,所以你不能分配超過你的RAM容量。請記住,512Mb RAM適用於現場所有用戶,而不是分別爲每個請求。

其次(回答所有其他問題):如果您有512MB的PHP限制並且超出了限制,那麼您的腳本佔用的資源太多,會減慢/停止您的網站。優化所有操作和查詢。

+0

uhm,我在cPanel中看到的默認php內存限制是1024M(由主機提供商設置),RAM是512M。我得到的錯誤與'subphp',虛擬內存有關。 –