Technical Tip: ‘cid’ Daemon Consumes Excessive CPU Resources (99%)
| Description | This article describes a workaround and solution for an issue where the ‘cid’ daemon consumes nearly 99% CPU when large packets arrive through the FortiSwitch to the FortiGate. |
| Scope | FortiGate v7.4.6, v7.4.7, v7.4.8. |
| Solution | When 'set device-identification' is enabled on a FortiLink-based Interface (for example, VLAN) in FortiGate, the cid daemon may consume 99% CPU when large packets arrive through the FortiSwitch to the FortiGate. diagnose sys top-all 1 100 1 Capture the output of 'diagnose cid stats' multiple times for comparison.
diagnose cid stats The above outputs show that while the scan.tap.event.triggered counter is incrementing, the scan.tap.ring.head counter remains the same (not advancing).
From the above output, since scan.tap.event.triggered is incrementing, the FortiGate is not idle, thereby ruling out case 1. Further confirmation comes from the scan.tap.read and scan.tap.copying values, which differ significantly, showing that the cid-scan process is continuously receiving events but cannot properly advance the ring buffer.
This issue has been resolved in FortiOS versions: These timelines for firmware release are estimates and may be subject to change. Workaround: Disable device detection on the interface.
edit <interface> end |
