0
ApacheまたはNgnixでDjango(1.8)アプリケーションを提供しているサーバーで、メモリリークの問題が発生しています(この問題は両方で発生します)。Djangoによる重大なメモリリーク
私が特定のページに行くと(以下の特定の要求について言えば)、サーバーのRAMは数秒で最大16Gになり(1回の要求でのみ)、サーバーはフリーズします。私は古いバージョンにチェックアウトをgitのとき
def records(request):
"""Return list 14 last records page. """
values = []
time = timezone.now() - timedelta(days=14)
record =Records.objetcs.filter(time__gte=time)
return render(request,
'record_app/records_newests.html',
{
'active_nav_tab': ["active", "", "", ""]
' record': record,
})
、バックはそのような問題がなかったとき、問題が生き残ると私は同じ問題を持っています。
は、私がここに障害のある要求のためGumpyとメモリチェックをした結果である:私は私の答えを見つけた検索の一日を過ごした後>>> hp.heap()
Partition of a set of 7042 objects. Total size = 8588675016 bytes.
Index Count % Size % Cumulative % Kind (class/dict of class)
0 1107 16 8587374512 100 8587374512 100 unicode
1 1014 14 258256 0 8587632768 100 django.utils.safestring.SafeText
2 45 1 150840 0 8587783608 100 dict of 0x390f0c0
3 281 4 78680 0 8587862288 100 dict of django.db.models.base.ModelState
4 326 5 75824 0 8587938112 100 list
5 47 1 49256 0 8587987368 100 dict of 0x38caad0
6 47 1 49256 0 8588036624 100 dict of 0x39ae590
7 46 1 48208 0 8588084832 100 dict of 0x3858ab0
8 46 1 48208 0 8588133040 100 dict of 0x38b8450
9 46 1 48208 0 8588181248 100 dict of 0x3973fe0
<164 more rows. Type e.g. '_.more' to view.>
ここでは、「特定の」ページに追加したものが多く、メモリが大量に必要な情報はありません – Sayse
前のバージョンのコードに戻した後でサーバーを再起動する必要があります。 – Alasdair
問題が複雑になると、それを保留にするだけですか?私が前のコミットにチェックアウトして以来、私がそれらの「特定の」ページを置いたものは何もなくなっています。そして、私は、この古いコミットは、このサーバーが毎日多くの人によって使用されているため、問題ではなかったと確信しています。 –