Efivars file system at 100% curiousity

This is not a problem, but curious…

I manage a handful of small servers - hardware are repurposed thin client machines (HP T620) running Ubuntu server 24.03. Servers are kept up to date, including firmware updates when these become available.

I run scripts regularly which include df -h to monitor disk space.
File systems include “efivars” at /sys/firmware/efi/efivars which has size 128K.

For all the servers apart from one, the efivars “Used” level is around 50%. For the outlier the “Used” level is always at 100%.

From what I have read, the efivars is a virtual filesystem created at boot up - and it being full is not an issue.

But I am curious as to why one of these otherwise essentially identical servers seems to be different.

I’d see what these values return and go from there.

# Count and list all EFI variables with sizes and look for stale boot entries
efibootmgr -v

# See the raw variables and their sizes
ls -la /sys/firmware/efi/efivars/ | sort -k5 -n -r | head -30

# Total variable count vs your other machines
ls /sys/firmware/efi/efivars/ | wc -l

# Check MOK keys
mokutil --list-enrolled 2>/dev/null

Thanks very much.

Not sure what happened, but during the time I assembled an Ansible script to get the outputs you suggested - the problem seems to have gone away.

There was a reboot - indicated as required by the Ubuntu updates - but I had rebooted previously and that one server’s efivars had stayed at 100%.

Anyhow I now have a reasonably tidy Ansible playbook ready to get all the efivars info if this happens again.

And it is comforting to know the MOK key certificate is not going to be a problem until 11-April-2042