Heim >Backend-Entwicklung >PHP-Tutorial >高手帮忙看一段代码,为什么内存耗尽
$i = -1;while( $i++ < 495000000 ) { $rand_uid = rand(100000000,105000000); $rand_fuid = rand(100000000,999999999); $tab_name = get_hash_table('friends',$rand_uid); $up_array = array( 'uid' => $rand_uid, 'fuid' => $rand_fuid ); insert_table($tab_name, $up_array,1);}
这个以前发的,来个人接一下分啊!
http://bbs.csdn.net/topics/390121151
应该不会,但如果你的硬盘空间不足,就不好说了
至少 insert_table 应判断是否插入成功
不知到 get_hash_table 的算法,但 $rand_uid 的数据跨度是 5000000
分批次执行,释放内存
应该不会,但如果你的硬盘空间不足,就不好说了
至少 insert_table 应判断是否插入成功
不知到 get_hash_table 的算法,但 $rand_uid 的数据跨度是 5000000
谢谢回复 !
磁盘空间够大,io也正常。
分批次执行,释放内存
关键是我不知道哪部分消耗了内存啊!
用 memory_get_usage 函数看一下
分批次执行,释放内存
关键是我不知道哪部分消耗了内存啊!
个人表示这个段代码跟死循环基本无差别了,就是他会执行完,在循环体里SLEEP一下看看
你最好把get_hash_tableh和insert_table都贴出来!
我看了下磁盘io,应该是这个导致的