Community Blog What Is Virtual Machine

What Is Virtual Machine

This article describes the definition of a Virtual Machine, and its usage, etc.

Virtual Machine Definition

Virtual Machine is a complete computer system with complete hardware system functions that is simulated by software and runs in a completely isolated environment. The work done in a physical computer can be realized in a virtual machine. When creating a virtual machine in a computer, part of the hard disk and memory capacity of the physical machine needs to be used as the hard disk and memory capacity of the virtual machine. Each virtual machine has its own CMOS, hard disk and operating system. It can operate on virtual machines like physical machines.

Virtual Machine Systerm

The virtual machine system generates a new virtual mirror of the existing operating system. It has the same function as a real windows system. After entering the virtual machine system, all operations are carried out in this brand new independent virtual machine system. It can install and run software independently, save data, and has its own independent desktop without any impact on the real system. And it is a type of operating system that can flexibly switch between the existing system and the virtual mirrors.

The virtual machine system is different from the traditional virtual machine in: The virtual machine system will not reduce the performance of the computer. Starting the virtual machine system does not need to be time-consuming like starting the windows system. It is more convenient and faster to run the program; The virtual system can simulate the same environment as the existing operating system, while the virtual machine can simulate other types of operating systems; and the virtual machine needs to simulate the underlying hardware instructions, so the application program runs much slower than the virtual system.

Virtual Machine Resource Allocation

Virtual machine resources involve multiple aspects: CPU, memory, network, and disk. The relationship between these resources should be considered when planning a virtual machine. Otherwise, unreasonable allocation of resources will result in poor performance of applications in the virtual machine.


Each vCPU of a virtual machine runs on only one physical core. Therefore, the higher the CPU frequency, the higher the running speed of the virtual machine, and the greater the number of vCPUs will help improve the performance of the application. If the virtual machine needs to take up a lot of CPU time, consider assigning a second vCPU to the virtual machine. However, assigning more than two vCPUs to a virtual machine does not necessarily make the application run faster. Because only multi-threaded applications can effectively use multiple vCPUs.


RAM resources are usually limited, so you need to be extra careful when allocating RAM to virtual machines. After the physical memory is completely used up, it is necessary to determine which virtual machines can reserve the physical memory and which virtual machines need to release the physical memory. This is called "memory reclamation". When the physical memory occupied by the virtual machine is reclaimed, there is a risk that it will affect the performance of the virtual machine. The more memory the virtual machine is reclaimed, the greater the corresponding risk.

The wisest thing is to allocate only the memory needed to complete the work for the virtual machine. Allocating additional memory will increase the risk of recycling. On the other hand, when the virtual machine operating system uses unused memory as a disk cache, it will significantly reduce the performance requirements of the disk system, so there is a trade-off.

Network bandwidth

Network bandwidth includes two aspects: one is the bandwidth between the virtual machine and the virtual switch, and the other is the bandwidth between the virtual switch and the external network. For the connection to the external physical network, you must ensure that the host has the fastest physical network card. Virtual machines that perform a large number of network transfers, virtual machines, and data packet transfers all consume CPU time. Therefore, a virtual machine running on a CPU-limited server may face low network throughput because the CPU cannot quickly respond to requests.

Disk performance

Disk performance is often a silent performance killer. Virtual machine disk performance is limited by the number and type of array disks and the number of virtual machines running on it. Because the centralized shared storage architecture will cause all virtual machine disks to be accessed through the same location, the storage controller of the array and the disk overload will easily occur, leaving only the virtual machine waiting for the response from the storage.

Virtual machine waiting for disk IO and virtual machine CPU idle have a very different impact on performance. The virtual machine waiting for IO cannot do other work, so high I/O waiting time means that performance will definitely decrease. It is very important to carry out careful storage design to avoid the above situation.

Virtual Machine Main Usage

  • Demonstration environment, you can install a variety of demonstration environments, easy to do various examples;
  • Ensure the fast running of the host, reduce unnecessary junk installation programs, occasionally used programs, or test programs running on the virtual machine;
  • Avoid every reinstallation. Banks and other common tools are not used frequently and require confidentiality. They should be run in an environment separately;
  • Want to test an unfamiliar application, install it and delete it completely in the virtual machine;
  • Experience different versions of operating systems, such as Linux, Mac, etc.;

Related Knowledge Base

What Are the Differences Between Containers and VMs

Virtual machines are multiple guest operating systems based on hardware, which are emulated by a hypervisor. Containers are an application level construct, and emulate multiple virtual environments which share a single kernel.

Related Blog

How to Set up a DHCP Server on a Linux Virtual Machine

Dynamic Host Configuration Protocol (DHCP) is a communication protocol that computers use to automatically assign IP addresses to devices connected to a local network or over the internet. Prior to the invention of the DHCP protocol, adding any new computer to a network required manual action to add its Mac address to an IP address. Managing the network was complicated in case of a large number of hosts over a network. However, with the DHCP installed and configured on a local network, any computer that is accepted in the network automatically gets an IP address associated with its Mac address. A Domain Name Server (DNS) manages the generation of IP addresses, and a DHCP server automatically distributes the configuration among the hosts.

Migrate VMware VMs to Alibaba Cloud with Incremental Data Synchronization

Currently, Alibaba Cloud provides an agent-based cloud migration tool, which helps customer to migrate their VMware virtual machines to Alibaba Cloud Elastic Compute Service (ECS) servers. When using this agent, you need to install the agent on any virtual machines you want to migrate, doing so in an incremental basis. However, with Alibaba Cloud Hybrid Backup Recovery, thanks to its agentless migration option, you can migrate your virtual machines in a much more convenient and faster fashion. Hybrid Backup Recovery also provides an incremental migration option so that you can synchronize data before migrating it over to ECS.

Related Product

ECS Bare Metal Instance

Based on next-generation virtualization technology independently developed by Alibaba Cloud, ECS Bare Metal Instance features both the elasticity of a virtual server and the high-performance and comprehensive features of a physical server. Compared with its predecessor, the next-generation virtualization technology of these instances excel in supporting standard Elastic Compute Service (ECS) and nested virtualization technology. This enables you to retain the elasticity capability of common ECS while delivering the same user experience as physical servers.

0 0 0
Share on

Alibaba Clouder

2,605 posts | 747 followers

You may also like

Alibaba Clouder

2,605 posts | 747 followers

Related Products

  • Platform For AI

    A platform that provides enterprise-level data modeling services based on machine learning algorithms to quickly meet your needs for data-driven operations.

    Learn More
  • VPC

    A virtual private cloud service that provides an isolated cloud network to operate resources in a secure environment.

    Learn More
  • Machine Translation

    Relying on Alibaba's leading natural language processing and deep learning technology.

    Learn More
  • Alibaba Cloud PrivateZone

    Alibaba Cloud DNS PrivateZone is a Virtual Private Cloud-based (VPC) domain name system (DNS) service for Alibaba Cloud users.

    Learn More