- Community Home
- >
- Servers and Operating Systems
- >
- Operating Systems
- >
- Operating System - Linux
- >
- Linux on VMware: Linux Performance Tuning and Opti...
Categories
Company
Local Language
Forums
Discussions
Forums
- Data Protection and Retention
- Entry Storage Systems
- Legacy
- Midrange and Enterprise Storage
- Storage Networking
- HPE Nimble Storage
Discussions
Forums
Discussions
Discussions
Discussions
Forums
Discussions
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
- BladeSystem Infrastructure and Application Solutions
- Appliance Servers
- Alpha Servers
- BackOffice Products
- Internet Products
- HPE 9000 and HPE e3000 Servers
- Networking
- Netservers
- Secure OS Software for Linux
- Server Management (Insight Manager 7)
- Windows Server 2003
- Operating System - Tru64 Unix
- ProLiant Deployment and Provisioning
- Linux-Based Community / Regional
- Microsoft System Center Integration
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Community
Resources
Forums
Blogs
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
a month ago - last edited a month ago by support_s
a month ago - last edited a month ago by support_s
Linux on VMware: Linux Performance Tuning and Optimization within a VMware virtual machine
How can Linux be successfully run within a VMware virtual machine?
This situation—Linux systems hosted on VMware infrastructure—occurs frequently for software professionals working in hybrid or enterprise environments. The architecture, resources, and best practices for installing and maximizing Linux in virtualized environments are dissected in this post.
A Brief Overview of the VMware Virtualization Stack
The ESXi hypervisor, a Type-1, bare-metal hypervisor that is installed directly on physical servers, is the central component of VMware's architecture. Additionally, engineers build and operate virtual machines (VMs) that contain Linux and other operating systems.
VMware vCenter Server offers centralized management for ESXi hosts and their virtual machines (VMs) in larger environments.
Important elements:
- ESXi: Virtual machines are hosted by this lightweight hypervisor.
- vSphere Client: Web-based interface for virtual machine management
- vCenter: Central management of automation, resources, and clusters
- Datastores: Virtual storage pools with SAN/NAS and local disks as backups
Why Use VMware to Run Linux?
For raw performance, bare-metal Linux is best, but VMware offers more advantages:
- Isolation: a neat division of surroundings
- Cloning: Quickly provisioning new Linux systems
- snapshotting: Fast recovery points prior to upgrades or dangerous changes; and high availability: automatic virtual machine migration and failover
- Resource pooling: In multi-tenant environments, maximize hardware utilization
The Best Ways to Run Linux on VMware
The following are important guidelines for sysadmins and software engineers using Linux within VMware:
- Make use of paravirtualized drivers (PVSCSI, VMXNET3)
- VMware offers powerful virtual machines that are especially tailored for virtualization:
- VMXNET3 for networking (in contrast to the typical e1000)
- PVSCSI versus LSI Logic for disk I/O
- These drivers increase throughput while lowering overhead.
For Linux, use Open VM Tools (open-vm-tools) rather than the outdated VMware Tools package because it is closely integrated with the operating system and is actively maintained
2. Appropriately Scale Your Virtual Machine Resources
- Don't allocate CPUs and RAM too much or too little
- As a baseline, use 2 vCPUs and 4 GB of RAM for general-purpose workloads.
- Keep an eye on actual usage and adjust the scale as necessary.
- Watch out for CPU overcommit on busy hosts as it can result in erratic latency.
- For flexibility, use thin-provisioned disks, but keep an eye on datastore usage to prevent space exhaustion.
3. Make Time Synchronization Possible
In virtualized environments, clock drift is common. Make use of both:
- VMware tools time synchronization (activated through vSphere settings)
- The guest OS's NTP (Network Time Protocol)
This guarantees reliable job scheduling, authentication, and logging.
4. Examine the Linux virtual machine from the inside as well as the outside:
- For metrics and logs, use journalctl, vmstat, htop, and iotop.
- From VMware: • To identify host-level problems like CPU contention or ballooning, use vSphere performance charts.
- For larger deployments, take a look at vRealize Operations Manager
5. Use customization specifications and templates to automate
VMware facilitates the creation of Linux virtual machine templates for quick instance deployment with pre-configured network settings, pre-installed packages, and personalized post-deployment scripts ideal for CI/CD and test environments, customization specs allow hostnames, IPs, and SSH keys to be automatically assigned at provisioning time.
Typical Use Cases
Linux-on-VMware is commonly used for the following purposes:
CI/CD Build Agents: isolated and simple to reset between builds.
Staging Environments: Safe testing using cloned production virtual machines and Development Sandboxes: Rapidly spin up environments with consistent configurations.
Container Hosts: Use Linux virtual machines to run Docker/K8s (nested virtualization possible)
Combining the manageability of an established virtualization platform with the flexibility of Linux makes running Linux on VMware a potent combination. This configuration offers robust performance and resilience for contemporary software workflows when paravirtualized drivers, appropriate resource allocation, and automation are used.
Linux Performance Tuning and Optimization Within a VMware virtual machine
Although it's common practice to run Linux in a VMware environment, intentional tuning is necessary to get the best performance. We'll concentrate on the main areas where Linux virtual machines (VMs) usually experience performance bottlenecks and how to effectively fix them.
Software engineers and DevOps professionals who want to maximize the responsiveness, resource efficiency, and application performance of their virtual Linux systems should refer to the following
- Optimization of the CPU
- CPU Limitations and Reservations
To ensure CPU access in VMware, make sure that:
• Reservations are used for critical workloads, because they cap performance, limits are avoided unless absolutely necessary. If supported, use VMXNET3 and turn on CPU hot add.
Enabling CPU hot-add enables dynamic scaling without virtual machine downtime for workloads that grow with more threads.
1. Inside the Visitor: Pinning and CPU Affinity
Setting CPU affinity can reduce context switching in workloads that are sensitive to performance (like real-time processing), though it is not always necessary.
The command "taskset -c 0 -3 <your-process>" can be used.
2. Control of Memory
Avert Memory Overcommitment Memory overcommitment causes VMware ballooning or swapping, which impacts virtual machine performance. Keep a close eye on things in vSphere.
Turn on Huge Pages
Large memory pages are advantageous for applications such as PostgreSQL or JVM-based systems.
For 2MB HugePages, for instance:
echo 1024 > /proc/sys/vm/nr_hugepages
Make it persistent using /etc/sysctl.conf.
Performance of the Disk and I/O
- Utilize disk controllers with PVSCSI
In contrast to LSI Logic, PVSCSI offers reduced latency and increased throughput.
- Select the Proper Filesystem
- In general, ext4 is stable and quick.
- Large files and parallel I/O may improve xfs performance.
Adjust the I/O Scheduler
- Examine the scheduler that is currently in use:
cat /sys/block/sda/queue/scheduler
For virtual environments, set it to noop or deadline:
echo deadline > /sys/block/sda/queue/scheduler
3. Optimization of Networking
Make use of the VMXNET3 network adapter.
It performs better than the E1000.
Adjust Network Buffers
Increase the size of the TCP buffer in /etc/sysctl.conf :
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216
Implement the modifications:
Use sudo sysctl -p
4. Keep an eye on everything within the virtual machine:
Application specific tools and htop, iotop, vmstat, sar, and dstat
- vRealize Operations for trend analysis and alerting;
- vSphere performance charts
5. Turn Off Unused Services
Disable unused services that use CPU and memory on Linux servers with systemctl disable bluetooth cups avahi-daemon
In brief
Performance tuning in a Linux virtual machine hosted by VMware is a multi-step process that includes:
- Linux-side OS tuning;
- VMware-side hypervisor settings
- Configuration specific to the application
One can make sure their Linux virtual machines (VMs) operate as close to bare-metal performance as possible by adjusting CPU, memory, disk, and network settings. This is particularly crucial for workloads that are latency-sensitive or high-load.
I work at HPE
HPE Support Center offers support for your HPE services and products when and how you need it. Get started with HPE Support Center today.
[Any personal opinions expressed are mine, and not official statements on behalf of Hewlett Packard Enterprise]

- Tags:
- Operating System