Note that there are some explanatory texts on larger screens.

plurals
  1. POuWSGI not releasing memory
    primarykey
    data
    text
    <p>I tried my hands with an extremely small django app that serves mainly html+static content with no db operations. The app is on nginx and uwsgi. I also have postgres installed, but for this issue, i did not do any DB operations.</p> <p>I find that memory is not getting released by the uwsgi process. In this chart from newrelic, you will find that the memory occupied by the uwsgi process remains stagnant at ~100MB , though during that stagnancy there have been absolutely no activity with the website/app. </p> <p>Also FYI: The app/uwsgi process when it started consumed only 56MB. I reached this ~100MB when i was testing with ab(apache benchmark) and was hitting it with -n 1000 -c 10 or around that range.</p> <p><img src="https://i.stack.imgur.com/XZ7Qb.png" alt="enter image description here"></p> <p>Nginx Conf</p> <pre><code>server { listen 80; server_name &lt;ip_address&gt;; root /var/www/mywebsite.com/; access_log /var/www/logs/nginx_access.log; error_log /var/www/logs/nginx_error.log; charset utf-8; default_type application/octet-stream; tcp_nodelay off; gzip on; location /static/ { alias /var/www/mywebsite.com/static/; expires 30d; access_log off; } location / { include uwsgi_params; uwsgi_pass unix:/var/www/mywebsite.com/django.sock; } } </code></pre> <p>app_uwsgi.ini</p> <pre><code>[uwsgi] plugins = python ; define variables to use in this script project = myapp base_dir = /var/www/mywebsite.com app=reloc uid = www-data gid = www-data ; process name for easy identification in top procname = %(project) no-orphans = true vacuum = true master = true harakiri = 30 processes = 2 processes = 2 pythonpath = %(base_dir)/ pythonpath = %(base_dir)/src pythonpath = %(base_dir)/src/%(project) logto = /var/www/logs/uwsgi.log chdir = %(base_dir)/src/%(project) module = reloc.wsgi:application socket = /var/www/mywebsite.com/django.sock chmod-socket = 666 chown-socket = www-data </code></pre> <p>Update 1: So it looks like, its not uwsgi, but the python processes that retain certain datastructures for faster processing.</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload