The pool of scanning threads that is available to Symantec Protection Engine for antivirus scanning dynamically adjusts to the load that is processed. You can change several parameters to control the dynamic thread pool.
To disable dynamic thread-pool management and use a fixed thread-pool size, use the same number of scanning threads that you set for the fixed-thread pool for both the MinThreads and MaxThreads parameters. You must configure the maximum threads in the console.
The configuration file parameters for controlling the dynamic thread pool are as follows:
The minimum number of scanning threads that is created at start-uptime and the minimum to keep alive regardless of the load that is processed.
The default setting is 16. You can increase this number if the default setting of 16 cannot satisfy a typical load.
The MinThreads value cannot be greater than the MaxThreads value. (Symantec Protection Engine does not validate the value that you input to ensure that it is lower than the MaxThreads value.) If the MinThreads value is greater than MaxThreads value, Symantec Protection Engine generates the minimum thread pool based on the MinThreads value, regardless of MaxThreads value. As a result, the "Active threads" value and the "Waiting threads" value on the Reports > Resources page would be greater than "Thread pool size" value.
The GrowThreadCount is number of scanning threads to add when the existing threads cannot handle the load that is processed.
The default setting is 4. The GrowThreadCount value must be larger than the ShrinkThreadCountvalue. Reasonable values are in the range of 0 to 16.
You consume resources when you create new threads. After you create threads (GrowThreadCount), only make modifications when necessary. Remove threads (ShrinkThreadCount) more slowly than you add threads. In this way, you do not consume additional resources such as happens when you create new threads in a short period of time.
The number of scanning threads to remove when more threads are running than are needed for the load that is processed.
The default setting is 2. The ShrinkThreadCount value must be smaller than the GrowThreadCount value.
The number of queued requests to be processed by scanning threads, which triggers the creation of more scanning threads.
The default setting is 4. The BusyRequestCount value cannot be less than 2.
The number of idle scanning threads, which triggers the removal of scanning threads.
The default setting is 6.
The number of seconds between evaluations of the thread-pool activity.
The default setting is 5 seconds. This value cannot be smaller than 2.
Because thread-pool activity is checked at the frequency that is specified for the SecondsBetweenChecks parameter, changes to the thread-pool size occur at the same frequency.