How to clear RAM after deleteng all variables from python

Viewed 198

I have Django project where I need to get data from postgres DB and then manipulate with it (1GB in postgres). After that when I executed all postgres data what I needed my ram increase, after another operation like this RAM also increase and so on...

If I have 64GB RAM and after execution postgres data my RAM increase ~1GB then if I run that function 10 times my ram will be ~10GB

I tried to delete all variables from Python with del or gc, but after that I also have full RAM.

Only option to clear RAM is to close Django project.

Is there option to clear RAM after I execute data from postgres?

This is an example how I get data from postgres. I use psycopg2 library. This is Django view, and after I go to this it runs this peace of code.

from django.http import HttpResponse
import psycopg2

def index(request):

    con = psycopg2.connect(host="localhost", database="database", user="postgres", password="postgres")
    cur = con.cursor()

    text = "select * from table"
    cur.execute(text)

    text = cur.fetchall()

    cur.close()
    con.close()

    test_len = len(text)
    del text

    return HttpResponse(test_len)

    

Every time I refresh page I get all data from table And RAM increases


One more example:

when I run python3 mnanage.py runserver my ram is 2GB, after I refresh page it increases to 13GB and then drops to 7.7GB, and after that if I resresh again and again I still get RAM on 7.7GB, but after I am getting data I delete this variable. why I still get 7.7GB RAM?

0 Answers
Related