Description |
This article describes that during troubleshooting CPU-related issues, it would be beneficial to know that each daemon is running on which CPU core. |
Scope |
FortiOS 7.0, 7.2. |
Solution |
Use the below command to check which CPU core is used by each daemon. The last column shows the CPU core index
di sys top
Run Time: 31 days, 18 hours and 12 minutes 0U, 0N, 0S, 100I, 0WA, 0HI, 0SI, 0ST; 2007T, 663F cmdbsvr 145 S 4.0 2.7 0 node 28235 S 3.3 2.5 1 updated 194 R 2.1 1.7 4 reportd 190 S 6.0 1.5 3 cw_acd 211 S 6.3 1.4 2 forticron 180 S 2.7 1.3 3 miglogd 189 R 1.1 1.3 1 autod 215 S 5.8 1.2 4
From the above output, it is possible to conclude that the daemon updated process ID is 194 and it is running on CPU core 4.
get system performance status
For example: CPU core 3 has the highest load in the system, softirq. Now, proceed with CPU core profiling, which will give insight into what may be the problem (e.g. offloading).
diag sys profile cpumask <cpu core number> diag sys profile start <- Run the command and leave it for 10-15 seconds. diag sys profile stop <- After 10-15 seconds run it to stop the profiler. diag sys profile show <- Will print the result on the console. diag sys profile show order <- Shows in order.
Note: If the process is in the S state (sleeping state), '# di sys top' will display the last used CPU because the process is sleeping. |