getrusage

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Stuart D. Gathman

    getrusage

    When I call resource.getrus age on Linux, I don't get any memory stats:

    Python 2.2.2 (#1, Jan 30 2003, 21:26:22)
    [GCC 2.96 20000731 (Red Hat Linux 7.3 2.96-112)] on linux2
    Type "help", "copyright" , "credits" or "license" for more information.[color=blue][color=green][color=darkred]
    >>> from resource import getrusage,RUSAG E_SELF
    >>> print getrusage(RUSAG E_SELF)[/color][/color][/color]
    (0.019531, 0.0078119999999 999995, 0, 0, 0, 0, 178, 387, 0, 0, 0, 0, 0, 0, 0, 0)[color=blue][color=green][color=darkred]
    >>>[/color][/color][/color]

    On AIX, I get the correct numbers.

    What is the goal? I need to find a memory leak in an extension module.
    For starters, I was going to find extension method calls that produce
    unexpected memory use (and I found some on AIX - but our 12 year old AIX
    system is *so* slow). Suggestions are welcome.
  • Gerhard Häring

    #2
    Re: getrusage

    Stuart D. Gathman wrote:[color=blue]
    > When I call resource.getrus age on Linux, I don't get any memory stats:
    >
    > Python 2.2.2 (#1, Jan 30 2003, 21:26:22)
    > [GCC 2.96 20000731 (Red Hat Linux 7.3 2.96-112)] on linux2
    > Type "help", "copyright" , "credits" or "license" for more information.
    >[color=green][color=darkred]
    >>>>from resource import getrusage,RUSAG E_SELF
    >>>>print getrusage(RUSAG E_SELF)[/color][/color]
    >
    > (0.019531, 0.0078119999999 999995, 0, 0, 0, 0, 178, 387, 0, 0, 0, 0, 0, 0, 0, 0)
    >
    > On AIX, I get the correct numbers.[/color]

    On FreeBSD, you get correct numbers as well. The Linux kernel, however,
    doesn't implement the RUSAGE field, even though it could easily be done
    (I once had the same question as you, and did this research then).
    [color=blue]
    > What is the goal? I need to find a memory leak in an extension module.[/color]

    Try compiling a debug version of Python with the option --with-debug and
    you can debug refcount problems much better.

    -- Gerhard

    Comment

    • Stuart D. Gathman

      #3
      Re: getrusage

      On Wed, 10 Sep 2003 19:49:36 -0400, Gerhard Häring wrote:
      [color=blue]
      > On FreeBSD, you get correct numbers as well. The Linux kernel, however,
      > doesn't implement the RUSAGE field, even though it could easily be done
      > (I once had the same question as you, and did this research then).
      >[color=green]
      >> What is the goal? I need to find a memory leak in an extension module.[/color]
      >
      > Try compiling a debug version of Python with the option --with-debug and
      > you can debug refcount problems much better.[/color]

      The leak turned out to be in the C library wrapped by the extension
      module. I debugged the C library with http://dmalloc.com

      Very nice package.

      --
      Stuart D. Gathman <stuart@bmsi.co m>
      Business Management Systems Inc. Phone: 703 591-0911 Fax: 703 591-6154
      "Confutatis maledictis, flamis acribus addictis" - background song for
      a Microsoft sponsored "Where do you want to go from here?" commercial.

      Comment

      Working...