I recommend running the Garbageman Nodes Manager inside a VirtualBox VM with a Linux Mint 22.2 guest, so that it is sandboxed from the rest of your computer. Here is how to optimize VirtualBox for running headless, resource-intensive VMs inside of a VirtualBox VM (“VM Inception”, so to speak) or for the lighter-weight Container mode.
Why VirtualBox Performance Matters
Garbageman Nodes Manager performs CPU and I/O intensive operations:
- Compilation: Building Bitcoin software (30+ minutes of heavy CPU use)
- Nested Virtualization: Creates Alpine VMs inside your Linux Mint VM using libguestfs/KVM
- Blockchain Sync: Downloads and validates 25+ GB of blockchain data with constant disk I/O
Without proper VirtualBox configuration, these operations can be 3-5x slower than native performance.
Guest OS Recommendation
Use Linux Mint 22.2 Cinnamon Edition for the guest OS:
- Based on Ubuntu 24.04 LTS (excellent hardware support)
- Cinnamon desktop is lightweight and responsive
- All required packages are available in the default repositories
- Well-tested with the Garbageman Nodes Manager script
Download: linuxmint.com/download.php
Essential VirtualBox Settings
These settings are critical for acceptable performance, and can be edited in the Settings once the VM has been created (shut down the VM first if it is running).
1. System Settings (Settings (Expert) → System)
Motherboard Tab:
-
I/O APIC: Required for multi-core support - Set Base Memory to at least 8192 MB (8 GB minimum, 16+ GB recommended)
Processor Tab:
-
PAE/NX: Required for 64-bit Linux -
**Nested VT-x/AMD-V:
-
(for VM mode):
Enable - Required for nested virtualization (VMs inside a VM) -
(for Container mode):
Disable - Reduced overhead
-
(for VM mode):
- Set Processor(s) to at least 4 cores (8+ recommended)
- Set Processing Cap to 100% (ensure VM isn’t throttled)
Acceleration Tab: (if page blanks, open General Tab then come back)
-
Paravirtualization Interface:
- (for VM mode): Set to KVM (best performance for nested virtualization)
- (for Container mode): Set to Default (may have better compatibility)
2. Storage Settings (Settings → Storage)
Use VirtIO SCSI Controller for Best I/O Performance:
- Click the “Add Controller” icon → Select “VirtIO SCSI”
- Remove your virtual disk from under “Controller: SATA”
- Remove “Controller: SATA”
- Attach your virtual disk to “Controller: VirtIO”
- Under Attributes:
-
Use Host I/O Cache: Significantly improves disk performance
3. Network Settings (Settings → Network)
Adapter 1:
- Attached to: NAT
- Set Adapter Type to Paravirtualized Network (virtio-net)
4. Display Settings (Settings → Display)
Screen Tab:
- Set Video Memory to 16 MB (this is a server workload, graphics don’t matter)
-
Disable 3D Acceleration (not needed, can cause issues)
5. Audio Settings (Settings → Audio)
-
Disable “Enable Audio” (not needed for server workloads, saves resources)
Quick Configuration Checklist
Before running the script, verify these VirtualBox settings:
- Nested VT-x/AMD-V enabled (for VM) or disabled (for container) (System → Processor)
- Paravirtualization Interface = KVM (for VM) or Default (for container) (System → Acceleration)
- VirtIO SCSI controller with Host I/O Cache enabled (Storage)
- virtio-net network adapter (Network → Advanced)
- I/O APIC enabled (System → Motherboard)
- PAE/NX enabled (System → Processor)
- Execution Cap = 100% (System → Processor)
- At least 8 GB RAM and 4 CPU cores allocated
- At least 80 GB disk space (fixed size VDI recommended)
- 3D acceleration disabled (Display)
- Audio disabled (Audio)
Verifying Nested Virtualization Works (VM Mode Only)
After starting your Linux Mint VM, verify that nested virtualization is working:
# Check if KVM is available
ls -la /dev/kvm
# Should show: crw-rw---- 1 root kvm ... /dev/kvm
# Check CPU virtualization extensions
egrep -c '(vmx|svm)' /proc/cpuinfo
# Should show a number > 0 (number of cores with virt extensions)
# Verify KVM kernel module is loaded
lsmod | grep kvm
# Should show: kvm_intel or kvm_amd (depending on your CPU)
If any of these checks fail:
- Ensure Nested VT-x/AMD-V is enabled in VirtualBox settings
- Power off the VM completely and restart it (settings only apply after full shutdown)
- Check your host BIOS has virtualization enabled (VT-x/AMD-V)