Tasker RAM Saturation

The vovtasker implements the following features related to the exhaustion of memory on a tasker machine:
  • RAM saturation occurs when the jobs executing on a tasker take up more memory than available on the machine so that the jobs may start swapping. For this computation use the "Virtual Memory" number and not the "Resident Set Size" number. When the tasker goes into saturation, the tasker orders all jobs by size and suspends enough jobs starting from the small ones to eliminate the saturation condition. The largest job is always left running, regardless of its size.
  • If the free RAM on a tasker falls below a threshold, typically below 50MB, the tasker stops accepting jobs.
  • The mechanism, described in a separate section.

The behavior can currently be controlled only with the API vtk_tasker_config by specifying either the parameter minRamFree (Minimum Free RAM) or the parameter effTotRam (Effective Total RAM), both of which are expressed in MB (1MB = 1,048,576Bytes).

The default for minRamFree is 50 or 5% of the total RAM, whichever is less. Example:
% vovsh -x "vtk_tasker_config $taskerId  minRamFree  20"
The default for effTotRam is the total RAM. Example:
% vovsh -x "vtk_tasker_config $taskerId  effTotRam  16000"