Use CPU throttling to manage the processor usage of an agent.
When installing the agent, the optional Process Priority
Class and Process maximum CPU percentage settings can be specified. You can use these optional settings to
limit the use of processor time by the agent. Using these settings
you can: set the priority, or limit the processor usage, of the Log File agent process.
Generally you set one or the other.
Use the Process Priority Class setting to
set the operating system priority of the Log File agent process.
Set this value correctly, and the Log File agent runs only
when other processes on the system do not need the processor. Also
when the value is set correctly the Log File agent processes
logs only when it does not interfere with other running applications.
Use the Process Priority Class value when you
do not want to artificially limit the Log File agent to a certain
percentage of processor time. For example, when the system is idle.
Use the Process maximum CPU percentage setting
to manage the maximum processor usage of the Log File agent process
over a 1-minute interval. If a Process maximum CPU percentage value less than 100 is specified, throttling is in effect. The Process maximum CPU percentage value sets a maximum limit
for the agent's use of the processor over a 1-minute time interval.
When setting the
Process maximum CPU percentage value, you must be aware of the following points:
- The Process maximum CPU percentage value
is a goal over a 1-minute measurement interval. For intervals less
than 1 minute the agent can use 100% of the processor time and still
meet its goal for the 1-minute measurement interval. By way of comparison,
a Linux installation can use
the top command to show the processor usage
of a process and show values that change every second. But the top command with the interval of 60, top -d
60, is a better way to assess the processor usage of the
process over a 1-minute interval.
- The Process maximum CPU percentage value
is a goal over a 1-minute measurement interval. Actual usage can
be less. For example, if in the second half of a 1-minute interval,
many events arrive, the agent does not consider that the first half
of the interval was under-used and therefore does not exceed the maximum
limit in the second half of the interval.
- CPU throttling might not behave as expected when the agent is run in a virtual
machine (VM). The clock of a VM is accurate, but the amount of actual
processor time allocated to the VM cannot be determined from inside
the VM. That is, the amount of actual processor time available in
a specific amount of real time can vary. This variation can cause
the agent's view of its processor usage to be inaccurate and can cause
the agent to miss its goals.
- CPU throttling extends the elapsed time it takes to process large amounts of data.
A certain amount of processor time is required to process events.
If the limit is set too low, the agent might not keep up with high
event rates.