4
私はdjango 1.3を使用しています。私は(コマンドラインから)Webコンテキストの外でスクリプトを実行しています。
私のコードは毎回10000のエントリをデータベースから読み込みます。
私は、プロセスのメモリ使用量が時間とともに大きくなっていることに気付きました。
私のコードは次のとおりです。私はdjango reset_queries()を使用する必要があります
def getData(startIndex,chunkSize):
dataList =Mydata.objects.filter(update_date__isnull = True)[startIndex:startIndex+chunkSize]
return list(dataList)
if __name__ == '__main__':
chunkSize = 10000
startIndex = 0
dataSize = Mydata.objects.filter(update_date__isnull = True).count()
while startIndex < dataSize:
dataList = getData(startIndex,chunkSize)
startIndex += chunkSize
do_stuff(dataList)
、私の質問は:私はreset_queries()
およびまたはconnection.close()
を使用する必要があります、これはメモリ使用量の増加の理由ですか?
「DEBUG = False」がありますか? – second
はい、DEBUGは偽です – yossi
それは間違いなくより多くのメモリを食べているPythonのプロセスですか?あなたはスクリプトを実行して、どの行がメモリハイキングを引き起こしているかを調べることができます – second