[請益] out of memory 問題

看板PHP作者 (= =)時間13年前 (2012/02/21 19:41), 編輯推噓2(2024)
留言26則, 8人參與, 最新討論串1/1
最近架了一個Apache+PHP+MySql的Server 人數少的狀態下都沒出什麼狀況 但是當使用人數到達300+後 就會常常發生Out of memory Fatal error: Out of memory (allocated 786432) (tried to allocate 16 bytes) on line 144 使用者需多F5幾次 又可以繼續使用了 前面(786432)和後面(16)的數字會變來變去 總和也都不大相同 程式如下 $memCache = new Memcache; $memCache->connect("127.0.0.1", 11211); $array = array(); $array = $memCache->get($tmp); <= 這行錯誤的 php.ini 內的 memory_limit 設定為256M(phpinfo內顯示也為256M) 想請教 是否有人也有遇過類似的狀況 或者有其他的解決方法 m(_ _)m -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.117.32.75

02/21 19:46, , 1F
memory_limit調大呢? 根本之道還是要看程式怎麼寫吧
02/21 19:46, 1F

02/21 19:51, , 2F
memory_limit原本是8M 調成256M還是有這樣的問題~ 程式的部
02/21 19:51, 2F

02/21 19:51, , 3F
分 有可能是其他程式的執行錯誤 影響到這邊嗎@@?
02/21 19:51, 3F

02/21 19:52, , 4F
記憶體不足,請檢察程式是不是沒寫好,256Mb應該很夠....
02/21 19:52, 4F

02/21 19:57, , 5F
嗯嗯 請問程式沒寫好大概是哪些情況比較容易發生? 變數宣告
02/21 19:57, 5F

02/21 19:58, , 6F
過多 或者讀取資料量太大 這類的嗎?
02/21 19:58, 6F

02/21 19:59, , 7F
遞迴..... 之類的..... 不過我沒在php中遇過
02/21 19:59, 7F

02/21 19:59, , 8F
memCache是什麼啊?
02/21 19:59, 8F

02/21 20:00, , 9F
目前是有看到一篇文章有提到foreach在很肥得陣列會可能out
02/21 20:00, 9F

02/21 20:01, , 10F
of memory~
02/21 20:01, 10F

02/21 20:01, , 11F
memCache 是把資料塞到記憶體中的工具 方便快速讀取~
02/21 20:01, 11F

02/21 20:33, , 12F
問題在$tmp變數是怎塞的,怎麼會塞到爆?
02/21 20:33, 12F

02/21 20:37, , 13F
$tmp是要和memCache取的資料 內容大概是 array("MESSAGE",
02/21 20:37, 13F

02/21 20:38, , 14F
"STRING")的字串
02/21 20:38, 14F

02/21 20:43, , 15F
程式問題~究竟是塞什麼
02/21 20:43, 15F

02/21 20:43, , 16F
所以mem沒爆,是$array爆,要去調php.ini裡的memory設定
02/21 20:43, 16F

02/21 20:45, , 17F
把$memCache->get($tmp);內容dump出來,基本上一定大的不得了
02/21 20:45, 17F

02/21 20:48, , 18F
先感謝各位的回答>"< 有試著把抓到的東西印出來 是很大沒錯
02/21 20:48, 18F

02/21 20:49, , 19F
不過 一般情況下丟到$array內 也沒有發生問題~ 所以 才會思
02/21 20:49, 19F

02/21 20:51, , 20F
考是否是其他的地方影響到了 每次跳出來的總合都不相同.怪.
02/21 20:51, 20F

02/22 01:46, , 21F
你的 memcache 單筆 cache 大小設定,memory_limit 設定
02/22 01:46, 21F

02/22 01:46, , 22F
機器總可用記憶體剩餘?
02/22 01:46, 22F

02/22 01:47, , 23F
memcache 我記得單筆不要超過1MB比較好
02/22 01:47, 23F

02/22 20:26, , 24F
memcache是extension有額外的設定請參考
02/22 20:26, 24F

02/22 20:26, , 25F

02/24 01:52, , 26F
一些framework session的使用及關閉錯誤也會導至
02/24 01:52, 26F
文章代碼(AID): #1FGuBSy1 (PHP)
文章代碼(AID): #1FGuBSy1 (PHP)