跟踪Python / uWSGI内存使用情况

时间:2017-02-14 05:30:05

标签: python uwsgi

当我运行顶部时,我看到(uWSGI使用〜{8} MB的RES;这是在Docker中):

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
   11 root      20   0 1048736 360688  19064 S   0.3 17.6   1:17.00 uwsgi
   12 root      20   0 1018840 328140  18964 S   0.3 16.0   1:42.41 uwsgi
  

RES表示驻留大小,它准确表示了进程消耗的实际物理内存量。

我想了解使用那么多内存的内容。我试图使用标准的Python堆分析工具,但是他们没有透露任何大的东西。例如,使用pympler,我看到:

                       types |   # objects |   total size
============================ | =========== | ============
                        dict |        7933 |      9.15 MB
                         str |       50742 |      8.40 MB
                        code |       18044 |      2.20 MB
                        type |        2347 |      2.03 MB
                     unicode |        3188 |      1.56 MB
                       tuple |        8012 |    588.46 KB
                        list |        4425 |    550.81 KB
                     weakref |        3707 |    318.57 KB
                         set |         828 |    308.59 KB
  builtin_function_or_method |        3432 |    241.31 KB
                        cell |        3267 |    178.66 KB
         function (__init__) |        1417 |    166.05 KB
           getset_descriptor |        2337 |    164.32 KB
          wrapper_descriptor |        1968 |    153.75 KB
            _sre.SRE_Pattern |         290 |    123.77 KB

是否会出现某种堆内存使用情况?也许uwsgi本身就在使用那么多内存?

UDPATED

我当前的uwsgi.ini档案:

[uwsgi]
strict = true

http = :8000
module = my_service.wsgi
master = true
processes = 2
threads = 2

buffer-size = 10000

0 个答案:

没有答案