Domino on Linux/Unix, Troubleshooting, Best Practices, Tips and more ...


Daniel Nashed


NSF Buffer Pool Size on Notes Client

Daniel Nashed  29 July 2013 09:42:36

A friend asked me today why he is getting "The buffer pool is too full to bring in another page" on his Notes Client.
I am not sure why exactly this is happening in his environment but I tried to explain and remembered a configuration change that I did in my Notes Client log time ago.

The NSF Buffer Pool (aka the UBM) is used for NSF I/O operations. It's a kind of I/O buffer. All NSF I/O goes thru this buffer pool.
On the server side for 32Bit the default size is 512 MB. For 64bit Domino it's 1 GB.

On the client side the calculation is done differently. The current default size is still 8 MB on Windows!

The error message means that your buffer pool is too small to keep up with the current requests (there is more in the pool than what is asked for). We have also seen this on very busy servers.

Here is an example from my machine but I am running with NSF_BUFFER_POOL_SIZE_MB=256
That's how you see the currently allocated size. But the buffer pool limit could be higher than that. It's allocated step by step as needed.
For a client with the default settings 8 MB is reached quite quickly. On the server side it needs a while to grow.
But on the server side there is statistic setting that you could check.

<@@ ------ Notes Memory -> Usage Summary -> Top 10 Memory Block Usage -> Memhandles By Size :: (Shared) (Time 09:01:29) ------ @@>

Type TotalSize Count Typename
0x82cd 267665408 68 BLK_UBMBUFFER

So what I did on my client a long time ago is to increase the NSF buffer pool on my client using NSF_BUFFER_POOL_SIZE_MB. This will override the default settings on the client.
It will also increase the number of dbcache handles. The default is 3 times the NSF buffer pool size in MB.

If you have many databases or many large databases you might want to increase the size of the buffer pool at bit.
Maybe 80 MB would be a good setting for most clients. This will give you more room for the NSF Buffer Pool to work in the why it is designed.

The default of 8 MB is what has been defined long time ago when memory was quite constrained.
I have not done performance tests and it would be different depending on your environment.
But if you have a moderate increase like this it should be good invested memory in most cases.
And 80 MB do not harm even Notes is just 32Bit. There should be plenty of room for other memory areas.

-- Daniel

1Christian Henseler  29.07.2013 18:41:53  NSF Buffer Pool Size on Notes Client

Thank you very much for enlighting us in this matter :-)

For Notes 9.0, there is a fix for that error brought to us by IBM with IF2 (SBUR96FUSE)

2Daniel Nashed  29.07.2013 21:27:34  NSF Buffer Pool Size on Notes Client

thanks Christian and discussed on another place I fully agree that for Citrix a much higher NSF buffer pool would not make a lot of sence.

But maybe increasing it a bit from 8 to 16 MB would be already helpful. The incremental benefit is smaller the bigger the buffer set. So double the size for a small buffer can be quite helpful.

Some more background about SPR #SBUR96FUSE: this fix reverts back an behaviour under certain workloads on a client where too much memory is used with smaller buffer pools.

But also increasing the memory a bit should fix those issues. In this particual case it was a developer's workstation. So for a normal user is not really likely to see that issue.

-- Daniel

3Arun wasan  09.12.2013 2:50:10  NSF Buffer Pool Size on Notes Client

Hi Daniel

how we can make a calculation of this parameter on what case we increase this value?





    • [HCL Domino]
    • [Domino on Linux]
    • [Nash!Com]
    • [Daniel Nashed]