|
|
|
รบกวนหน่อยครับ error : Allowed memory size of 25165824 bytes exhausted (tried to allocate 35 bytes) |
|
|
|
|
|
|
|
ขอดูโค้ดก่อนครับ ปัญหาน่าจะใช้ลูปผิด
|
|
|
|
|
Date :
2009-12-13 13:18:13 |
By :
xbeginner01 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
function generateCentroid($round,$data,$allMajor,$allTrainer,$allQuiz,$group){
if($round == 0){
for($i=0;$i<$allMajor;$i++){
$centroid[$i] = $data[$i];
}
}else{
for($k=0;$k<$allQuiz;$k++){
for($i=0;$i<=$allTrainer;$i++){
for($j=0;$j<$allMajor;$j++){
if($group[$round-1][$i] == $j){
if($i!=($allTrainer+1)){
$sumMemberGroup[$k][$j] += $data[$i][$k];
break;
}else{
$sumMemberGroup[$k][$j] += $arr_post[($k+1)];
break;
}
}
}
}
}
for($aa=0;$aa<=$allTrainer;$aa++){
for($bb=0;$bb<$allMajor;$bb++){
if($group[$round-1][$aa] == $bb){
$countMemberGroup[$bb]++;
}
}
}
for($m=0;$m<$allMajor;$m++){
for($n=0;$n<$allQuiz;$n++){
//echo $sumMemberGroup[$n][$m].'<br>';
$centroid[$m][$n] = number_format($sumMemberGroup[$n][$m]/$countMemberGroup[$m],0);
}
//echo $countMemberGroup[$m].'<br>';
}
}
return $centroid;
}
/////////////// end function generate Centroid /////////////
มัน error ที่ function นี้อ่ะครับ
|
|
|
|
|
Date :
2009-12-13 13:43:55 |
By :
chubichane |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แล้วมันมีทางแก้ไหมครับ แล้วมีโอกาสเปงไปได้ไหมที่มัน ไม่สามารถหาค่าที่ผมคำนวณทำให้เกิด loop infinity
ถ้าเป็นอย่างที่สอง จะทำยังไงต่อดีน๊า
โปรเจค K-MEAN อ่ะครับ
|
|
|
|
|
Date :
2009-12-14 16:17:08 |
By :
chubichane |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ประการแรก น่าจะมีส่วนนะ loop infinity หรือ เยอะเกินไป
ส่วน error : Allowed memory size of 25165824 bytes exhausted (tried to allocate 35 bytes)
หมายถึง memory_limit ใน php.ini ไม่พอครับ
แก้ใน file php.ini อ่ะครับ
|
|
|
|
|
Date :
2009-12-14 16:33:20 |
By :
peterxp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เป็นไปได้น้อยที่ใช้memoryเกินครับ นอกเสียว่าจะเก็บข้อมูลที่เป็นล้าน+ข้อมูล*.*(ก็แล้วแต่limitเลยครับ)
ตัวอย่างครับส่วนใหญ่ที่เป็นน่าจะใช้ลูปเก็บข้อมูลผิดลืมจำกัดจำนวนลูป(infility)
กรณีwhile
Code (PHP)
<?php
while(true){ //เป็นจริงตลอดเลยไม่ออกจากลูปสักที
$arr[]='a';
}
?>
กรณีwhile(2)
Code (PHP)
<?php
$i=0;
while($i< 5){ //เป็นจริงตลอดเลยไม่ออกจากลูปสักที
$arr[]='a';
//$i++;//ลืมเพิ่มค่า$i
}
?>
กรณี for
Code (PHP)
for($i=0; $i<5;$i){ // ลืม$i++
$arr[]='a';
}
กรณี for (2)
Code (PHP)
$arr[0] ='1';
for($i=0;$i<count($arr) ;$i++){
$arr[] ='a'; //จำนวน array เพิ่ม count($arr) ก็เพิ่มตามเลยไม่ออกจากลูปสักที
}
จขกท ลองเช็คดูดีๆครับ ปัญหาอยู่ในโค้ดน่ะแหล่ะ
|
|
|
|
|
Date :
2009-12-14 17:30:50 |
By :
xbeginner01 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อืมแหล่ม
|
|
|
|
|
Date :
2009-12-14 17:44:14 |
By :
peterxp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|