diff --git a/provision/cleanup.sh b/provision/cleanup.sh
old mode 100644
new mode 100755
index b8a2336bbff0ce3d88f4a3bd870eefbf414017ba..29da429bd2f1c2ba24ea55b5dc676e528c261504
--- a/provision/cleanup.sh
+++ b/provision/cleanup.sh
@@ -4,3 +4,9 @@ set -e
 set -x
 
 yes | sudo pacman -Scc
+
+# Write zeros to improve virtual disk compaction.
+zerofile=$(/usr/bin/mktemp /zerofile.XXXXX)
+dd if=/dev/zero of="$zerofile" bs=1M || true
+rm -f "$zerofile"
+sync