Created on
‎03-05-2025
06:36 AM
Edited on
‎04-02-2025
03:13 AM
By
Jean-Philippe_P
Description | This article describes cases where there is an exceptionally high CPU utilization for the WAD process due to too many discovered devices being handled. |
Scope | All FortiOS versions. |
Solution |
In this scenario, this is caused by too many discovered devices in the User & Device store. This store takes the devices from the kernel, as seen in the IPS and the output of the following command:
diagnose user device list
This usually poses an issue in an environment where there are lots of transient devices (airport, hotel, coffee shop, ... etc.). These transient devices fill up the User & Device store and will put stress upon the wad user-info process if it needs to access this list due to the sheer length of it.
This typically is then observed with high CPU usage in the system space and WAD at the top of the diagnose sys top output.
FGT01 $ diagnose sys top
With the process ID of the wad process and the diagnose test app wad 1000, the specific WAD sub-process type can be determined.
FGT01 $ diagnose debug enable FGT01 $ diagnose test app wad 1000 Process [35]: type=user-info(5) index=0 pid=4516 state=running diagnosis=no debug=enable valgrind=supported/disabled
To show the number of discovered devices, use the diagnose user device stats command.
FGT01 $ diagnose user device stats generation.global 216394 generation.seen 174813 generation.deletion 0 count 122821 joined 0 create_failed 0 fd 12 hash 8192
Alternatively, this information can also be gathered by selecting the wad user-info process itself. For a detailed explanation of the WAD process and how to select a specific one, refer to Technical Tip: Overview of WAD process structure.
FGT01 $ diagnose test app wad 2500
When the active devices as seen by diagnose user device list are deleted, they may still be in the device list. This is because FortiOS stores some historical data in case of a reboot, so some information persists during such an event.
If FortiGate is configured with managing FortiSwitch, High CPU usage on WAD user-info may cause the FortiSwitch Ports and FortiSwitch Clients GUI to become inaccessible. The GUI page will just keep on spinning / loading. Restart the WAD user-info process and the GUI will be accessible.
WiFi & Switch Controller -> FortiSwitch Ports.
FGT01 $ diagnose debug enable FGT01 $ diagnose test app wad 1000 Process [35]: type=user-info(5) index=0 pid=4516 state=running diagnosis=no debug=enable valgrind=supported/disabled ..... FGT01 $ diagnose sys kill 11 4516 Note: 4516 is the PID seen from the 'diagnose test app wad 1000'command. Refer to Technical Tip: Overview of WAD process structure.
To reduce the number of idle devices discovered, use the command set discovered-device-timeout <days>. This will reduce devices stored to those devices discovered over the last set days. The default is 28 days. The following reduces the store to all devices discovered in the last day.
config system settings
Related articles: |
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.