scrapy 2.3 用muppy調(diào)試內(nèi)存泄漏

2021-06-17 11:55 更新

?trackref? 提供了一種非常方便的機(jī)制來跟蹤內(nèi)存泄漏,但它只跟蹤更可能導(dǎo)致內(nèi)存泄漏的對象。然而,在其他情況下,內(nèi)存泄漏可能來自其他(或多或少模糊)對象。如果這是你的案子,而且你用 ?trackref? ,你還有另一個(gè)資源:muppy類庫。

你可以從 Pympler .

如果你使用 ?pip? ,可以使用以下命令安裝muppy::

pip install Pympler

下面是一個(gè)使用muppy查看堆中可用的所有Python對象的示例:

>>> from pympler import muppy
>>> all_objects = muppy.get_objects()
>>> len(all_objects)
28667
>>> from pympler import summary
>>> suml = summary.summarize(all_objects)
>>> summary.print_(suml)
                               types |   # objects |   total size
==================================== | =========== | ============
                         <class 'str |        9822 |      1.10 MB
                        <class 'dict |        1658 |    856.62 KB
                        <class 'type |         436 |    443.60 KB
                        <class 'code |        2974 |    419.56 KB
          <class '_io.BufferedWriter |           2 |    256.34 KB
                         <class 'set |         420 |    159.88 KB
          <class '_io.BufferedReader |           1 |    128.17 KB
          <class 'wrapper_descriptor |        1130 |     88.28 KB
                       <class 'tuple |        1304 |     86.57 KB
                     <class 'weakref |        1013 |     79.14 KB
  <class 'builtin_function_or_method |         958 |     67.36 KB
           <class 'method_descriptor |         865 |     60.82 KB
                 <class 'abc.ABCMeta |          62 |     59.96 KB
                        <class 'list |         446 |     58.52 KB
                         <class 'int |        1425 |     43.20 KB

有關(guān)Muppy的更多信息,請參閱 muppy documentation .

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號