Technical Tip: Understanding the dedicated-management-cpu command behavior in FortiGate
| Description | This article describes the actual behavior and implications of the dedicated-management-cpu feature on the FortiGate. |
| Scope | FortiGate. |
| Solution | By default, management-related user space processes like SSH, HTTPS to the FortiGate can be scheduled to run on any CPU core.
diagnose sys process pidof httpsd FortiGate-4801F # fnsysctl cat /proc/9489/status . . Cpus_allowed: ffff,ffffffff,ffffffff,ffffffff <----- httpsd can be scheduled on available cores.
FortiGate-4801F # diagnose sys process pidof httpsd FortiGate-4801F # fnsysctl cat /proc/9489/status
This happens because dedicated-management-affinity is automatically set to 1 when dedicated-management-cpu is enabled.
config system npu <----- Check show full system npu | grep management set dedicated-management-affinity "1" <----- Management processes to run on CPU0.
Example use case:
Problem: Dedicated-management-affinity is very useful in scenarios where CPU0 needs to be dedicated to perform kernel-related processing of priority traffic like BGP, BFD, LAC,P etc.
In such a situation, CPU0 should be saved from being used for CPU-intensive management operations and management-related user space processes.
Solution: To meet this requirement, change the CPU affinities for processes like HTTPS/SSH using the dedicated-management-affinity command away from CPU0.
FortiGate-4801F # config sys npu FortiGate-4801F (npu) # set dedicated-management-affinity fffffffffffffffffffffffffffe FortiGate-4801F (npu) # end
FortiGate-4801F # fnsysctl cat /proc/9489/status
In effect, CPU0 is freed from:
|
