Troubleshooting Raspberry Pi Problems¶
Hardware Watchdog Initiates Reboot¶
A watchdog timer is an electronic timer that is used to detect and correct computer malfunctions. When activated, it can trigger a reboot when the computer is under heavy load, e.g. when indexing pictures.
Should your Raspberry Pi fail to reset the timer before it expires, the WDT signal will reboot it. It is disabled by default in the firmware.
Users can set up "dtparam" also known as Device Tree config files for Raspberry Pi's in
/boot/config.txt, which will enable the kernel module.
It is the responsibility of the user to set the parameters of the watchdog daemon correctly.
A common parameter that users set is the average CPU load for 1, 5, or 15 minutes. The default value for the 1 minute span is 24
max-load-1 = 24
The average load is the sum of the queue length and the number of jobs currently running on the CPUs. You can use the following commands to view load average statistics:
uptime, procinfo, w, top
Raspberry Pi users who have the hardware watchdog enabled need to set a more appropriate value for the 1-minute span for the maximum load than the default value. As a workaround, you can log the average workload to a file:
#!/bin/bash while true; do echo $(cat /proc/loadavg) >> test_file.log sleep 10 done
This will write a log with a timestamp every 10 seconds. Run the above script while performing intensive tasks that would normally trigger a reboot, such as tagging faces. With this information, you can now set a new value that is greater than the recorded maximum.
Help improve these docs! You can contribute by clicking to send a pull request with your changes.