我从远程服务器获取图像对象,然后尝试使用它们的API将它们上传到Rackspace的云文件中。如果我需要购买更多的内存,那么需要多少RAM来完成这个任务(当前的开发服务器只有512 is )。
在执行脚本时,我是:
H 210f 211这在一小部分ids上执行相对较快,但是100 (所以700-1k图像)可能要花费5-10分钟,而且任何更多的东西似乎都会无限期地运行。已经尝试了以下几点,但收效甚微:
使用php的set_timeout在几分钟后杀死了脚本,计算出这会清除分配给执行的内存,使我能够从我停止的地方开始工作,并在集合中工作是比较小的部分。但是,从未抛出此错误,而是在图像对象上传后取消包含图像对象的数组键(而不是just the reference inside the loop)。PHP的memory_limit设置为128 is,运行'tops‘命令我看到用户'www-data’消耗了16%的内存资源。然而,用户列表中不再出现这一点,但我仍然看到这一点:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2400 mysql 20 0 161m 8220 2808 S 0 1.6 11:12.69 mysqld...but TIME+永不改变。我看到仍然有一个任务在运行,但是这些值从未改变过:
Mem: 508272k total, 250616k used, 257656k free, 4340k buffers为冗长的帖子道歉-不完全确定什么(如果有的话)是有用的。这不是我的专业领域,所以有点抓稻草。提前谢谢你的帮助。
发布于 2011-01-25 03:39:47
MySQL是一个守护进程--它将继续运行,并处于内存中,直到它死掉或被您杀死为止。TIME+是自上次重新启动以来使用的cpu时间。如果它是空闲的(%CPU = 0),那么TIME+就不会增加,因为没有消耗cpu时间。
您是否检查过cloudfiles API是否泄漏了某种句柄?您可能正在取消从服务中检索到的图像对象( service -> You ),但是Cloudfiles API仍然必须将该映像发送回门外(您->Rackspace),并且可能会泄漏到某个地方。
https://stackoverflow.com/questions/4788260
复制相似问题