VM Advanced Options
Guide to configuring advanced VM options for fine-tuning performance, hardware emulation, and device behavior in VergeOS, including CPU threading, SMBIOS, NIC tuning, and QEMU machine parameters.
Overview
The VM Advanced Options field allows power users to fine-tune virtual machine parameters beyond what's available in the standard UI. These options provide granular control over CPU features, hardware emulation, and device behavior.
Use with Caution
Advanced options can significantly impact VM performance and stability. Only modify these settings if you understand their implications. Incorrect values may prevent your VM from starting.
Format
Advanced options use a simple key-value format, with one option per line:
option1=value1
option2=value2
option3=value3Available Options
CPU and Memory
CPU Threads
cpu.threads=2Sets the number of CPU threads per core. Default is 1.
Use case: Enabling SMT (Simultaneous Multi-Threading) for applications that benefit from hyperthreading.
Memory Pre-allocation
Pre-allocates all VM memory at startup instead of allocating on demand.
Use case: Reduces memory allocation latency for performance-critical workloads. Useful for real-time applications or when using hugepages.
UUID Configuration
You can customize the VM's UUID (Universally Unique Identifier) to match specific requirements, such as software licensing or migration scenarios.
System UUID
Sets the system UUID presented to the guest OS. This is the primary UUID that most software checks.
Use cases:
Migrating VMs from other platforms while preserving licensing
Software that validates against a specific UUID
Cloning VMs that need unique identifiers
UUID Format
UUIDs must be in standard format: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx (8-4-4-4-12 hexadecimal characters). Invalid formats will prevent the VM from starting.
Generating UUIDs
On Linux: uuidgen On Windows PowerShell: [guid]::NewGuid() Online: Use any UUID generator tool
SMBIOS Customization
SMBIOS (System Management BIOS) options allow you to customize the hardware information presented to the guest OS.
Type 0 - BIOS Information
Type 1 - System Information
Type 2 - Baseboard Information
Type 3 - Enclosure Information
Type 4 - Processor Information
Use cases for SMBIOS:
Software licensing that checks hardware signatures
Applications expecting specific hardware configurations
Testing scenarios requiring specific system identification
Network Interface Tuning
For each NIC, you can tune queue parameters using the NIC's asset ID:
Use cases:
High-throughput network applications
Reducing network latency
Optimizing for specific network workloads
Machine-Specific Parameters
Customize QEMU machine parameters:
Use cases:
Working around CPU security mitigation issues
Compatibility with specific guest operating systems
Performance optimization for trusted environments
RTC (Real-Time Clock) Options
Use cases:
Fixing time drift issues in VMs
Synchronization requirements for time-sensitive applications
Device-Specific Options
You can set parameters for any device using its asset ID:
For drives:
Common Use Cases
High-Performance Computing
Windows Licensing Compliance
Preserving UUID After Migration
Use when migrating a VM from another platform and the guest OS has software tied to the original UUID.
Network Optimization
Best Practices
Testing Recommendations
Test advanced options in a non-production environment first
Document any advanced options you use for future reference
Only add options that solve specific problems or requirements
Monitor VM performance after applying advanced options
Troubleshooting
If your VM fails to start after adding advanced options:
Remove all advanced options and try starting the VM
Add options back one at a time to identify the problematic setting
Check the VM logs for specific error messages
Verify the syntax - ensure each option is on its own line with no extra spaces
Last updated
Was this helpful?