Monitoring the system and identifying bottlenecks

You can monitor all of your system hardware using the free Web Performance Monitor ( or the more powerful Microsoft System Center Operations Manager or similar tools.

Important! A lack of one resource may push any of the subsystems beyond its normal capacity. Insufficient RAM, for example, may result in excessive use of the hard-disk drive. To detect bottlenecks, it is essential that the crucial system parameters be checked in a particular order. Please follow the diagnostic routines suggested for each subsystem in the table below.

Subsystem Diagnostic routine
  1. Memory

If the readings of the Memory/Available Bytes meter are low (i.e. the memory is not filled with running processes and disk cache) while the readings of the Memory/Pages/sec meter are constantly changing (i.e. the system is continually swapping data between RAM and HDD), the system is most likely short on memory.

The Process(<All instances>)/Working Set meter shows the number of memory pages allocated to each process.

You should also set separate meters for the following processes:

  • OcrServer.exe
  • SqlServer.exe
  • OCRStation.exe
  • OCRProccessor.exe
  • Workflow.exe

System memory is probably causing a bottleneck if you see the following symptoms: there is too little free RAM available to the system, some of the processes are actively consuming the available RAM, some of the processes are freeing up RAM very slowly, and the readings of the Memory/Pages/sec meter are changing abruptly.

Note. 32-bit CPUs cannot use more than 2 GB of RAM, even if the amount of free memory actually available is much greater.

For details, see

  1. CPU

The CPUs are probably causing a bottleneck if the readings of the Processor(_Total)/% Processor Time meter are above 80% for extended periods of time and the System/Processor Queue Length meter shows that the number of queued threads is two or more times greater than the number of CPUs.

For details, see Take the readings of the Process(<All instances>)/% Processor Time meter to identify the processes that devour CPU time.

  1. HDD

Before c the HDD, make sure there is enough RAM available to the system (see "1. Memory" above).

The LogicalDisk(<All instances>)/Free Megabytes meter shows the amount of free space on the logical disk. Insufficient disk space will considerably slow down your system.

The HDD is probably causing a bottleneck if the PhysicalDisk(<All instances>)/% Disk Time meter shows 90% or more and the PhysicalDisk(<All instances>)/Avg. Disk Queue Length meter continuously shows more than 2 requests per thread.

For details, see

  1. Network

If the Network Interface(<All instances>)/Output Queue Length meter continuously shows more than 2 packets in the output queue, this means that the network adapter is waiting for a connection and is delaying requests from the server.

If the readings of the Network Interface(<All instances>)/Packets Outbound Discarded meter are continuously going up, this means that the traffic is too heavy and the network adapter buffer cannot handle all of the outbound requests.

If the reading of the Network Interface(<All instances>)/Bytes Total/sec meter is 65% or more of the reading of the Network Interface(<All instances>)/Current Bandwidth meter, use a faster connection or segment the network to reduce the number of conflicts.

26.03.2024 13:49:49

Please leave your feedback about this article

Usage of Cookies. In order to optimize the website functionality and improve your online experience ABBYY uses cookies. You agree to the usage of cookies when you continue using this site. Further details can be found in our Privacy Notice.