Memory profiling

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Rune Froysa

    Memory profiling

    I have a fairly large program that uses a number of third-party
    modules. After a few hours the program eats several 100M of memory.

    Does Python provide any tools that can help in determining where the
    memory is used? Ideally, I would like to see a tool that can list all
    objects by memory-usage, but any tool that can return the number of
    bytes used by an arbitrary object would be of great help. Even
    something that could find all allocated dicts&lists and return their
    size+name would help.

    Regards,
    --
    Rune Frøysa
    University of Oslo, Norway
  • Michael Hudson

    #2
    Re: Memory profiling

    Rune Froysa <rune.froysa@us it.uio.no> writes:
    [color=blue]
    > Does Python provide any tools that can help in determining where the
    > memory is used?[/color]

    *Memory*, no. Especially in a debug build, there are tools for
    finding out where the objects are, though.
    [color=blue]
    > Ideally, I would like to see a tool that can list all objects by
    > memory-usage, but any tool that can return the number of bytes used
    > by an arbitrary object would be of great help. Even something that
    > could find all allocated dicts&lists and return their size+name
    > would help.[/color]

    In a debug build, look at sys.getobjects. In a recent release build,
    look at gc.get_objects.

    Cheers,
    mwh

    --
    <arigo> something happens, what I'm not exactly sure.
    -- PyPy debugging fun

    Comment

    Working...