Efivars is getting full - what to clean up?

I wouldn’t worry about this unless it’s actually causing you a problem.

The value reported by efivarfs is generated directly by UEFI runtime services[1]. The firmware is free to manage its NVRAM in whatever way it sees fit, and many implementations write new variable data without deleting older data until it is necessary[2].


  1. linux/fs/efivarfs/super.c at master · torvalds/linux · GitHub ↩︎

  2. AMI, for example, marks a variable as superseded but leaves all of its data intact. The new data is written somewhere else in the NVAR FV and the earlier variable updated with a pointer. It is probably done this way to reduce flash erase cycles and reduce the window during which torn state can be observed if power is lost. ↩︎

4 Likes