我們有一個web應用程序(機架表),這給我們的生產箱上的悲傷。每當用戶嘗試運行搜索時,它會給出以下錯誤:內存不足錯誤從mysql
Pdo exception: PDOException
SQLSTATE[HY000]: General error: 5 Out of memory (Needed 2057328 bytes) (HY000)
我無法在我們的備份服務器上重新創建問題。除了生產中我們擁有16GB內存以及備份8GB的事實之外,這些服務器是相匹配的。這是一個有爭議的問題,因爲兩者都運行32位操作系統,所以只能使用4GB的RAM。我們還成立了一個交換分區...
這裏就是我在生產中得到了「免費-m」命令回:
prod:/etc# free -m
total used free shared buffers
Mem: 3294 1958 1335 0 118
-/+ buffers: 1839 1454
Swap: 3817 109 3707
prod:/etc#
我檢查,以確保上的my.cnf兩個盒子都匹配。生產的數據庫被複制到備份服務器上...所以數據也匹配。
我想我們的選擇是:
A) convert the o/s to 64 bit so we can use more RAM.
B) start tweaking some of the innodb settings in my.cnf.
但在此之前我嘗試A或B,我想知道是否有什麼我需要兩個服務器之間的比較......看到備份如何工作得很好。在我們沒有考慮到的地方肯定有區別。
任何建議,將不勝感激。
請參閱http://mysql.rjweb.org/doc.php/memory – eggyal