Identifying leaks from non paged pool - Windows NT

This is a discussion on Identifying leaks from non paged pool - Windows NT ; I'm trying to figure out a leak from the non paged pool on a PC running WinNT 4.0 Server. After many weeks of operation, I get an error in the event log saying "The server was unable to allocate from ...

+ Reply to Thread
Results 1 to 2 of 2

Thread: Identifying leaks from non paged pool

  1. Identifying leaks from non paged pool

    I'm trying to figure out a leak from the non paged pool on a PC
    running WinNT 4.0 Server.
    After many weeks of operation, I get an error in the event log saying
    "The server was unable to allocate from the system non paged pool
    because the pool was empty". At this point, the server "froze" and I
    could not even open task manager to see what the memory comsumption
    was.

    In order to track this down, I was attempting to use Perf Mon and Task
    Manager to look at consumption in the non paged pool and see if I can
    establish a trend. I tried using the Memory object's Pool Non paged
    bytes counter and the Pool non paged bytes counter from the Process
    object for some of the biggest memory users on the server.

    However, I found that the values reported by Memory:Pool non paged
    bytes was very different from the value I got from Process:Pool Non
    paged bytes. For example -
    Memory:Non paged bytes - 105119744 bytes = 100 MB
    MyApp.exe:Non paged bytes - 184663824 bytes = 176 MB

    This cannot be true.

    The help for the counters says - "Memory: Pool Nonpaged Bytes is
    calculated differently than Process: Pool Nonpaged Bytes, so it might
    not equal Process: Pool Nonpaged Bytes: _Total."

    Pool Nonpaged Bytes: _Total reports a much lower value than Memory:Non
    paged bytes.

    So now, what do I use to identify the correct non paged pool usage ?

    I also looked in Task Manager for the Non paged pool usage and it
    reports the same values as Process:Non paged bytes for the apps under
    consideration.

    I read that the limit for the non paged pool is 128 MB in NT. Is this
    true ?

    I need to know when I am reaching that limit so I can take preventing
    action on the server before it freezes again"

    Thanks.

  2. Re: Identifying leaks from non paged pool

    There is a Microsoft Knowledgebase article or two that shows how to
    turn on monitoring of the pool. I had a similar problem that turned
    out to be the Promise RAID controller's monitoring software. It would
    leak non-paged pool like crazy until the server ran out of memory and
    crashed in various ways.

    You need to change a registry setting, reboot, and then run a monitor
    program to watch actual allocations by "tags". No clue as to what tags
    are associated with what function, but at least you can see when the
    leaking stops as you try things.

    Good luck
    Tom

    On 8 Jul 2003 09:30:00 -0700, dpakpaul@lycos.com (Deepak Paul) wrote:

    >I'm trying to figure out a leak from the non paged pool on a PC
    >running WinNT 4.0 Server.
    >After many weeks of operation, I get an error in the event log saying
    >"The server was unable to allocate from the system non paged pool
    >because the pool was empty". At this point, the server "froze" and I
    >could not even open task manager to see what the memory comsumption
    >was.
    >
    >In order to track this down, I was attempting to use Perf Mon and Task
    >Manager to look at consumption in the non paged pool and see if I can
    >establish a trend. I tried using the Memory object's Pool Non paged
    >bytes counter and the Pool non paged bytes counter from the Process
    >object for some of the biggest memory users on the server.
    >
    >However, I found that the values reported by Memory:Pool non paged
    >bytes was very different from the value I got from Process:Pool Non
    >paged bytes. For example -
    >Memory:Non paged bytes - 105119744 bytes = 100 MB
    >MyApp.exe:Non paged bytes - 184663824 bytes = 176 MB
    >
    >This cannot be true.
    >
    >The help for the counters says - "Memory: Pool Nonpaged Bytes is
    >calculated differently than Process: Pool Nonpaged Bytes, so it might
    >not equal Process: Pool Nonpaged Bytes: _Total."
    >
    >Pool Nonpaged Bytes: _Total reports a much lower value than Memory:Non
    >paged bytes.
    >
    >So now, what do I use to identify the correct non paged pool usage ?
    >
    >I also looked in Task Manager for the Non paged pool usage and it
    >reports the same values as Process:Non paged bytes for the apps under
    >consideration.
    >
    >I read that the limit for the non paged pool is 128 MB in NT. Is this
    >true ?
    >
    >I need to know when I am reaching that limit so I can take preventing
    >action on the server before it freezes again"
    >
    >Thanks.



+ Reply to Thread