I am seeing slow snapper operations of ~20 sec with entries in /var/log/snapper.log like:
Tue Jun 9 09:44:12 2026 <1> SystemCmd.cc(execute):180 stopwatch 21.943143s for "/usr/lib/snapper/plugins/10-sdbootutil.snapper create-snapshot-post / btrfs 15"
That makes, for example, installation of packages with zypper slow, not during downloading or installing but right after confirming (pressing ‘y’) at the time when the snapshot is created. From pressing ‘y’ until starting downloading, there is a gap of 20sec or more.
I am running a fresh Tumbleweed installation with default partition layout and full disk encryption with default option (TPM2 + PIN) on a ~6 years old laptop with 256G SSD disk.
After looking at snapper.log it looks that time is spent when calling 10-sdbootutil.snapper. I added --start-trace-code in 10-sdbootutil.snapper for the calls to sdbootutil
/usr/bin/sdbootutil update --start-trace-code --sync "$num" || :
when creating snapshots and got some more verbose logs.
In snapper log, creating some snapshots is slower that other but I can’t see any error except for multiple entries with:
SystemCmd.cc(getUntilEOF):358 pid:15067 added lines:10 stderr:true
In snapper.log
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(SystemCmd):48 constructor SystemCmd: /usr/lib/snapper/plugins/10-sdbootutil.snapper create-snapshot-post / btrfs 15
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(addLine):394 Adding Line 1 "The trace of the code is being stored in /var/log/sdbootutil.log"
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(addLine):394 Adding Line 2 "Remove the file or use --stop-trace-code to stop tracing the code"
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(addLine):394 Adding Line 3 "Audit the file before sharing, as secrets can be leaked"
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(getUntilEOF):358 pid:14552 added lines:3 stderr:true
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(addLine):394 Adding Line 4 "Found container virtualization none."
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(getUntilEOF):358 pid:14552 added lines:1 stderr:true
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(addLine):394 Adding Line 5 "Failed to check file system type of "/efi": No such file or directory"
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(addLine):394 Adding Line 6 "File system "/boot" is not a FAT EFI System Partition (ESP) file system."
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(getUntilEOF):358 pid:14552 added lines:2 stderr:true
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(addLine):394 Adding Line 7 "Loaded shared library 'libblkid.so.1' via dlopen()."
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(getUntilEOF):358 pid:14552 added lines:1 stderr:true
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(addLine):394 Adding Line 8 "Using EFI System Partition at /boot/efi."
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(getUntilEOF):358 pid:14552 added lines:1 stderr:true
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(addLine):394 Adding Line 9 "Found container virtualization none."
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(getUntilEOF):358 pid:14552 added lines:1 stderr:true
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(addLine):394 Adding Line 10 "Failed to check file system type of "/efi": No such file or directory"
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(addLine):394 Adding Line 11 "File system "/boot" is not a FAT EFI System Partition (ESP) file system."
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(getUntilEOF):358 pid:14552 added lines:2 stderr:true
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(addLine):394 Adding Line 12 "Loaded shared library 'libblkid.so.1' via dlopen()."
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(getUntilEOF):358 pid:14552 added lines:1 stderr:true
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(addLine):394 Adding Line 13 "Using EFI System Partition at /boot/efi."
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(getUntilEOF):358 pid:14552 added lines:1 stderr:true
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(addLine):394 Adding Line 14 "Directory "/boot" is not the root of the file system."
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(addLine):394 Adding Line 15 "Didn't find an XBOOTLDR partition, using the ESP as $BOOT."
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(getUntilEOF):358 pid:14552 added lines:2 stderr:true
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(addLine):394 Adding Line 16 "DEBUG: root_snapshot: 1"
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(getUntilEOF):358 pid:14552 added lines:1 stderr:true
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(addLine):394 Adding Line 17 "DEBUG: esp_root: /boot/efi"
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(getUntilEOF):358 pid:14552 added lines:1 stderr:true
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(addLine):394 Adding Line 18 "DEBUG: boot_root: /boot/efi"
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(getUntilEOF):358 pid:14552 added lines:1 stderr:true
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(addLine):394 Adding Line 19 "DEBUG: esp_dst: /EFI/systemd"
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(getUntilEOF):358 pid:14552 added lines:1 stderr:true
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(addLine):394 Adding Line 20 "Checking if the bootloader is installed"
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(getUntilEOF):358 pid:14552 added lines:1 stderr:true
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(addLine):394 Adding Line 21 "DEBUG: Bootloader version 260.1+suse.7.g1e45daa2fb"
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(getUntilEOF):358 pid:14552 added lines:1 stderr:true
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(addLine):394 Adding Line 22 "Found container virtualization none."
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(getUntilEOF):358 pid:14552 added lines:1 stderr:true
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(addLine):394 Adding Line 23 "No virtualization found in DMI vendor table."
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(addLine):394 Adding Line 24 "DMI BIOS Extension table does not indicate virtualization."
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(getUntilEOF):358 pid:14552 added lines:2 stderr:true
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(addLine):394 Adding Line 25 "UML virtualization not found in /proc/cpuinfo."
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(addLine):394 Adding Line 26 "Virtualization XEN not found, /proc/xen does not exist"
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(addLine):394 Adding Line 27 "No virtualization found in CPUID"
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(addLine):394 Adding Line 28 "This platform does not support /proc/device-tree"
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(addLine):394 Adding Line 29 "This platform does not support /proc/sysinfo"
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(addLine):394 Adding Line 30 "Found VM virtualization none"
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(getUntilEOF):358 pid:14552 added lines:6 stderr:true
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(addLine):394 Adding Line 31 "Loading config file /etc/default/sdbootutil"
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(getUntilEOF):358 pid:14552 added lines:1 stderr:true
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(addLine):394 Adding Line 32 "DEBUG: /etc/default/sdbootutil"
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(getUntilEOF):358 pid:14552 added lines:1 stderr:true
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(addLine):394 Adding Line 33 "# Default sdbootutil configuration file generated automatically"
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(addLine):394 Adding Line 34 ""
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(addLine):394 Adding Line 35 "# List of PCRs. For VMs PCRs 0 and 2 are dropped"
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(addLine):394 Adding Line 36 "FDE_SEAL_PCR_LIST="0,2,4,7,9""
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(addLine):394 Adding Line 37 ""
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(addLine):394 Adding Line 38 "# Parameter used in the cmdline to find the root (device, [part]uuid, [part]label)"
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(addLine):394 Adding Line 39 "# For encrypted devices it is forced "device""
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(addLine):394 Adding Line 40 "ROOTFS="device""
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(addLine):394 Adding Line 41 ""
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(addLine):394 Adding Line 42 "# Percentage (%) of free space in the ESP that sdbootutil should guarantee"
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(addLine):394 Adding Line 43 "# Default values is 10%"
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(addLine):394 Adding Line 44 "ESP_FREE_SPACE="10""
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(getUntilEOF):358 pid:14552 added lines:12 stderr:true
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(addLine):394 Adding Line 45 "Updating bootloader"
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(getUntilEOF):358 pid:14552 added lines:1 stderr:true
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(addLine):394 Adding Line 46 "Checking if bootloader needs update"
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(getUntilEOF):358 pid:14552 added lines:1 stderr:true
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(addLine):394 Adding Line 47 "DEBUG: Bootloader version 260.1+suse.7.g1e45daa2fb"
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(getUntilEOF):358 pid:14552 added lines:1 stderr:true
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(addLine):394 Adding Line 48 "Deployed version 260.1+suse.7.g1e45daa2fb"
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(getUntilEOF):358 pid:14552 added lines:1 stderr:true
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(addLine):394 Adding Line 49 "DEBUG: Bootloader version 260.1+suse.7.g1e45daa2fb"
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(getUntilEOF):358 pid:14552 added lines:1 stderr:true
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(addLine):394 Adding Line 50 "System version 260.1+suse.7.g1e45daa2fb"
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(getUntilEOF):358 pid:14552 added lines:1 stderr:true
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(addLine):394 Adding Line 1 "260.1+suse.7.g1e45daa2fb == 260.1+suse.7.g1e45daa2fb"
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(getUntilEOF):358 pid:14552 added lines:1 stderr:false
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(getUntilEOF):358 pid:14552 added lines:1 stderr:true
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(getUntilEOF):358 pid:14552 added lines:1 stderr:true
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(getUntilEOF):358 pid:14552 added lines:1 stderr:true
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(getUntilEOF):358 pid:14552 added lines:2 stderr:true
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(getUntilEOF):358 pid:14552 added lines:1 stderr:true
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(getUntilEOF):358 pid:14552 added lines:1 stderr:true
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(getUntilEOF):358 pid:14552 added lines:2 stderr:true
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(getUntilEOF):358 pid:14552 added lines:1 stderr:true
Tue Jun 9 09:43:50 2026 <1> SystemCmd.cc(getUntilEOF):358 pid:14552 added lines:1 stderr:true
.
.
Tue Jun 9 09:44:12 2026 <1> SystemCmd.cc(execute):180 stopwatch 21.943143s for "/usr/lib/snapper/plugins/10-sdbootutil.snapper create-snapshot-post / btrfs 15"
Tue Jun 9 09:44:12 2026 <1> SystemCmd.cc(execute):194 system() Returns:0
Tue Jun 9 09:44:12 2026 <1> PluginsImpl.cc(run_scripts):69 result of /usr/lib/snapper/plugins/10-sdbootutil.snapper create-snapshot-post / btrfs 15
Tue Jun 9 09:44:12 2026 <1> PluginsImpl.cc(run_scripts):72 stdout: 260.1+suse.7.g1e45daa2fb == 260.1+suse.7.g1e45daa2fb
Then from sdbootutil.log looks like it takes time to generate tpm2 predictions:
+ 2026-06-09 09:43:54 sdbootutil:3207:generate_tpm2_predictions_pcrlock: local final_pcrs
++ 2026-06-09 09:43:54 sdbootutil:3208:generate_tpm2_predictions_pcrlock: get_final_pcrs 0,2,4,7,9
++ 2026-06-09 09:43:54 sdbootutil:3020:get_final_pcrs: local pcrs=0,2,4,7,9
.
.
+ 2026-06-09 09:44:02 sdbootutil:3208:generate_tpm2_predictions_pcrlock: final_pcrs=0,2,4,7,9
+ 2026-06-09 09:44:02 sdbootutil:3210:generate_tpm2_predictions_pcrlock: local output
.
+ 2026-06-09 09:44:12 sdbootutil:3211:generate_tpm2_predictions_pcrlock: output=
I have omitted some logs but I can’t spot any obvious errors.
Are these timings normal? Is there a way to make it faster, without disabling encryption and snapshots?