Applies To:
  • CitectSCADA 1.00, 1.01, 1.10, 1.11, 1.20, 2.00, 2.01

Summary:
You may get the hardware error on the LAN device 'Out of buffers' or 'Session has been Closed' . This error can be caused when Citect runs out of network pool buffers. By correctly tuning the network pool buffers, you will improve the network performance.

Running out of network buffers may also cause Citect and Windows to stop responding to user input (hang). 


Solution:
The network buffer pools are controlled by the options [LAN]ReadPool and [LAN]WritePool. These options can only be set in the INI file - they are not supported in the parameters database. The default sizes of these pools is 64 in versions 1.20 and 2.01 or later. In previous versions the default is 32.

To check if you are running short of network pools, start the Citect debug kernel and enter PAGE TABLE BUFFERPOOL. This will display the page that shows the statistics for all of Citect buffer pools. The network buffer pools are the ones named 'lan.read.pool' and 'lan.write.pool'. To check if you are running short of these buffers, look at the Short column. This column shows how many times Citect tried to get a buffer and none was available. This may occur at startup, or during peek loading conditions - it should not occur during normal running. If this column is counting up, then you need to increase the size of the buffer pools

Because it is normal to run low on buffers at startup, you should note the value of the short counters, then let Citect run to simulate normal operator use. It is best to run for 24 hours so that all reports, trends and operator interaction would occur. At the end of the test period, check if the short counters have increased. If they have counted up you will need to increase the associated pool with the INI option.

A medium size system consisting of 6 workstations may need the pools set to around 96. Larger systems consisting of 12 workstations may need the pools set to around 128. Huge systems of greater than 20 workstations or high network traffic may need to increase the pools to 256.

The pools are more critical on the Citect Servers because the server has to talk to all the clients. Citect clients will normally use less network buffers as they only have to talk to the servers You should avoid setting the buffers too high as these pools use page locked memory. This type of memory is critical to Windows operation, and if your computer has insufficient memory, running out of this memory may cause Windows to hang. You should check the Peek column on the PAGE TABLE BUFFERPOOL to see what the peek usage is - try not to set the pool to more than 16 higher than this value.

Also note that the maximum values of the buffer pools has been increased in versions 1.20 and 2.00 to 256 from 100. Also note the documentation is incorrect as it still states the old maximum of 100.

See also Q1131


Keywords:
 

Attachments