Created on
08-12-2022
03:08 AM
Edited on
07-31-2025
11:41 PM
By
Anthony_E
Description | This article describes how to identify which is the CPU handling a process at a given time. |
Scope | FortiGate v6.2, v6.4, v7.0, and v7.2 GA releases. |
Solution |
Let's assume a user wants to identify which is the physical CPU that is handling the OSPF process.
diagnose sys process pidof ospfd 182
From the above result, PID of ospfd is 182.
fnsysctl cat /proc/182/stat
182 (ospfd) S 178 178 178 0 -1 4202752 2204 0 0 0 3 0 0 0 5 -15 1 0 5928 213377024 1976 18446744073709551615 4194304 44303833 140736593983088 140736593982408 140663142887446 0 0 3676160 25216747 0 0 0 17 3 0 0 0 0 0
The sixth number to the end is the CPU which OSPFd is bound to, from the above example, the CPU is 3.
Alternatively, the command 'diag sys top' can be used to check. Process ospfd below is running on the CPU 5:
diagnose sys top 1 1000 1 | grep ospf
In case a user cannot remember the name of the process by heart, use this alternative global command:
fnsysctl ps PID UID GID STATE CMD 228 0 0 S /bin/acd 182 0 0 S /bin/ospfd
The particular command generates a matrix of the running processes and the PIDs which associated with it.
Note: Super Admin privilege is required to run the 'fnsysctl' command. Otherwise, FortiGate will return an error as mentioned in this article: Technical Tip: fnsysctl command returns Unknown action 0
Related article: Troubleshooting Tip: How to check which CPU core is used by each daemon |
The Fortinet Security Fabric brings together the concepts of convergence and consolidation to provide comprehensive cybersecurity protection for all users, devices, and applications and across all network edges.
Copyright 2025 Fortinet, Inc. All Rights Reserved.