Link to home
Start Free TrialLog in
Avatar of moshe26
moshe26

asked on

NonPagedPool in Win2K

Hello Everybody:

As written in documentation in MSDN the ammount of NonPagedPool in Win2K is restricted to 256MB.
I am working on Win2K server with 511MB of physical memory.
As caculated in MSDN the ammount of NonPagedPool memory that I can allocate with 511MB RAM is about 200MB.

I am developing filter driver.
I allocate from NonPagedPool in my filter, and the allocation is failed when the total NonPagedPool is 130MB.

Does anyone know why I cannot allocate 200MB of NonPagedPool memory and failed when it is 130MB ?

I don't have /3G option in my boot file.

Thank's Dror.
Avatar of NickRepin
NickRepin

Non-paged pool is shared between all kernel-mode drivers, and you cannot use all the space.
Avatar of moshe26

ASKER

Do you have any documentations about it ?
I could not find the confirmation in DDK manuals. But the non-paged pool is definitely shared, because you can allocate a non-paged data buffer and pass it to another driver. Non-paged pool memory is resident all the time by definition. So you cannot have say 2 drivers with a 150 MB non-paged pool each, when the non-paged pool is limited by 256M.
Avatar of moshe26

ASKER

Nick, I think that my question is not understood enough.
I meant that the allocation is failed when the total amount of NonPagedPool(from task manager) is reached to 130MB and not to 200MB as written in the documentation.
If the current NonPaged allocations is 80MB, than I can only allocate 50MB(130-80) instead of 120MB(200-80).

I don't know.

Anyway, the documentation says the non-paged pool is a scarce resource, and it's not a good idea to allocate megabytes of the non-paged pool.
ASKER CERTIFIED SOLUTION
Avatar of CetusMOD
CetusMOD
Flag of Netherlands image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial