How to set up smartphones and PCs. Informational portal
  • home
  • Tips
  • Virtualization: recommendations from leading dog breeders. Correct video settings

Virtualization: recommendations from leading dog breeders. Correct video settings

Modern processors are so powerful that they can emulate themselves
practically no brakes. In the area of ​​system administration it finds
great practical application. But not everything is so simple, and before erecting
virtual system, all the pros and cons should be weighed.

Doors to the virtual world

In recent years, many virtual machines have appeared on the market - from
highly specialized ( Bochs, eEye) to common emulators
destination ( VMware, virtual box, QEMU, XEN,
Virtual PC
). Interest in virtualization is growing, and the emulators themselves along the way
master new professions, becoming more and more attractive
toys in the eyes of system administrators. Namely "toys" - because to
The existing emulators are not yet ready to be put into commercial operation. Damage
from their use far exceeds the cost of living iron, which they
designed to replace (not to mention the fact that most emulators
distributed commercially or simply cost money).

Nevertheless, you can and should play with virtual machines! There is everything
reason to expect that in the next few years, developers will lick bugs and
bring emulators to mind, and therefore you need to master them right now, so that later
do not deploy virtual infrastructure in a hurry.

There is at least three types of virtual machines(not to mention
hybrids). The earliest (and oldest) are machines with full
emulation
. The classic example is Bochs. Slows down terribly, but allows
emulate "alien" architectures, e.g. x86 on the Scooter or x86-64 on
x86. To build a multiprocessor machine on a uniprocessor one? No problem. Moreover,
the main operating system is securely isolated from the guest virtual machines
and it's incredibly hard to hurt her. Bochs is very suitable for
experiments with viruses, worms and other malicious software. Also it can
use in order to try out 64-bit operating systems,
before deciding to buy x86-64 - but high emulation overhead
(even taking into account optimization and instruction caching) impose tough
hardware requirements for the base machine. And the problem here is not even
that WinXP on P-4 under "Borsch" starts for about a day. It won't start at all!
Since a bunch of operations fall off on a timeout, in particular, if the procedure
driver initialization takes more than 10 seconds, the system automatically
unloads the driver with all the ensuing consequences.

Dynamic virtual machines(QEMU, VMware, VirtualBox) emulate
only privileged instructions (as well as unprivileged instructions,
having access to system data). Due to this, the speed of emulation increases.
by several orders of magnitude, and on the P-III 733 it is already possible to comfortably work in an environment
virtual Win2k3, and everything just flies on P-4. Paying for speed
becomes the fundamental impossibility of emulating "alien" architectures, plus
potential risk of an attack on the main operating system from the guest.
Theoretically, it is quite possible to create a reliable dynamic emulator, but
practically... it's thousands of C/C++ lines and megabytes of code! Besides,
QEMU and VMware developers did not even try to protect the main system from attack
from the side of guest virtual machines, which is successfully used by viruses and worms.

Hardware virtualization(supported by latest models
Intel and AMD processors) eliminates bugs in the x86 architecture, where system data
securely protected only from writing, but can be read from the application layer
legal unprivileged commands. This forces the emulator to view
block of code before it is executed, which takes time. In the company's processors
Motorola does not have such defects, and therefore dynamic emulation works on them
much faster (and without any newfangled hardware support!). But the market
captured the x86 architecture, displacing Motorola, and therefore hardware virtualization
greeted with great enthusiasm. Theoretically, the emulation speed should
come close to a "live" processor, since the overhead of
virtualization are close to zero. However, in addition to the processor, the virtual machine
forced to emulate also equipment. You can't do without hard drives, but
giving direct access to physical hard drives is suicide. This is the reason why
what is the performance of virtual machines (even with hardware emulation support)
significantly lags behind live iron, but still overtakes the dynamic
emulation.

Naturally, you have to pay for the increase in speed. First, it is necessary
purchase a processor that supports hardware virtualization (okay, it's not
problem, we will get it during the next scheduled upgrade). Secondly (and this
already really serious) - processors contain a bunch of defects that allow
affect the main operating system from guest virtual machines.
Fixing a bug in the processor is much more difficult than in a completely software one.
emulator! And what is most unpleasant - spontaneous crashes of the main system
occur even without any attack from malicious code! In a word,
hardware virtualization is still a poorly debugged toy, not
ready for industrial implementation. Regardless, Microsoft has already included
emulator with support for hardware virtualization in Win2k8, competing with
free XEN project.

Virtual servers

How can I use a virtual machine in a corporate or office network?
For example, raise a virtual server. And what? Let's say we need a public WEB and
private SQL. For security reasons, the public server should be
located in the so-called demilitarized (DMZ) zone, and private SQL -
inside a local network surrounded by a deep protective moat around the perimeter
(firewall). Which requires two cars. What if it's available
only one?

Theoretically (I emphasize!), you can raise VMware or Virtual PC by placing
public WEB server on the virtual machine, and private SQL on the main one. And this
how would it work. "As if" - because in order to achieve an acceptable level
performance even with support for hardware virtualization, we need
quite powerful hardware, capable of pulling the emulator at a reasonable speed. Means,
you still won’t be able to save much, and if you add to this amount the costs of
inevitable attacks on the virtual machine and failures of the virtual machine itself, in
in the long run, we have very impressive losses. Buy two
separate physical servers - cheaper, and they will work much
more stable. And if there is no money for hardware, then it is better to abandon DMZ zones by settling
public and private services on the same machine and disabling private services
receive traffic from external interfaces. And for reliability - also close the ports
on the firewall. As they say, cheap and cheerful, but it's still better than
fiddling with virtual machines.

Corral for viruses

Quite often, virtual machines are used for experiments with
potentially unsafe software obtained from untrusted
sources. Antivirus scan is not a very good search tool
unknown or modified worms, viruses and rootkits. Good for pests
it is known how to "dazzle" proactive technologies and heuristic analyzers.
Rootkit detection tools only work well in the early days
of its appearance, and then hackers find a workaround.

Naturally, it is best to conduct such experiments under an emulator. So
it is much easier to operate with virtual hard disk images, and to allocate
a separate (physical) machine is not required. Convenience, simplicity and economy -
on the face. But simplicity is worse than theft, and saving on a dedicated machine is not good.
brings. If the virtual machine is connected to the main virtual machine
network, then worms can attack the underlying operating system using holes in
network services. The administrator should either install all
patches, or disable the virus corral from the Web in general - not forgetting about
shared resources. VMware virtual machine supports them bypassing
Ethernet adapter. The balls continue to work even after removing the virtual
network card, and are subject to two types of attacks at once - through holes in the “general
folders" and by sending worms that modify the folder template automatically
"picked up" by the Explorer. The same applies to all other types.
carriers. This significantly complicates the exchange of data between the virtual and the main
machines. The most reliable is to copy the data via CD-ROM (not necessarily
physical - virtual is also suitable, just take any program to create
iso images and mount it on the main system and on VMware).

Important: By default, VMware will automatically recognize all connected
USB devices and gives virtual machines full access to them. Let's say we
connect FLASH, external hard drive with USB interface or other device
of a similar kind, on which a virus that escaped from the dungeons immediately settles
virtual machine. To prevent intrusion, it is enough to disable
USB controller in the properties of the virtual machine.

However, the problems don't end there. Rootkits have long since learned
recognize virtual machines
refusing to be infected in their presence,
which breaks the whole concept. We install rootkit software on
virtual machine, compare the images, find nothing and, satisfied with themselves,
run the rootkit on the main system. It turns out that it is guaranteed to be found
modern rootkits using virtual machines is impossible! And if we take into account
a large number of holes in emulators, then the rootkit has every chance of infecting the main
system from the guest machine. Exit? Or use a dedicated live machine,
or a reliable virtual machine with full emulation (for example, Bochs). it
will prevent a virus invasion, but, alas, will not save you from the detection of a virtual
rootkit machines. Bochs contains many minor emulation bugs (behaves
not like a real processor) that do not interfere with the operation of normal programs,
but can be used to detect the emulator. Plus, ANY emulator
carries on board a rather specific set of virtual hardware, according to
which is easy to recognize. Although, given the source code, we can
to prevent this - buying a live computer is much cheaper than mangling
virtual iron.

Summarizing the above, we conclude: virtual machines - not too much
a reliable pen for viruses, although if not to be paranoid, then (given the low
qualities of the vast majority of viruses and rootkits) it is better to use
virtual machine than to rely entirely on antiviruses.

Network attack detection tool

Office networks usually do not need sensors and sensors,
detecting an intrusion, and if they do, the case is usually limited to
purchase of a commercial IDS/IPS system that is built into the firewall and can easily
running on a gateway on the Internet or on one of the local network nodes.

With the growth of the network, there is a desire to install a specialized system
intrusion detection, such as Snort (free) or AMP (commercial). And
place it on a dedicated host, because to install the same AMP
the administrator must provide his vendors with a remote shell on his
car. Moreover, AMP will not only automatically download fresh signatures from
networks, but also send all suspicious traffic for analysis to the company's servers
Endeavor, which is its developer.

Trust is great, but putting your traffic in the wrong hands... No, it's better
place this thing on a separate node, disconnected from the main local network,
but powered by the same ISP - that is, catching the same viruses and worms,
as the main nodes of the local network. Can it be used for this purpose
virtual machine? Of course! The main thing is to securely isolate it from the corporate
networks.

Virtual NICs are the biggest problem, through
which the guest operating system can easily reach the main one. All
virtual cards must be disabled without fail! But... if we have
there is no network, how then to communicate with the outside world and catch traffic? Options
a lot of. Here is just one of them: an ADSL modem with a USB interface connected to
to a virtual machine with a network card pulled out and balls blocked.

Which virtual machine should be used? VMware is very famous and
too perforated. Bochs is incredibly slow. Virtual PC is a good choice
but given the large number of holes in processors, its use is extremely
not safe. In reality, only VirtualBox, XEN or QEMU remains, although the first of
them are still quite crude and still not debugged.

Mirror server

The malicious nature of worms and viruses is understandable. They are just for that.
and were written. Alas, honest software often hurts a lot.
more damage. Take at least security updates or new versions. Everyone
administrators are well aware that their installation sometimes leads to
intractable conflicts, data loss, and even the complete collapse of the operating
systems!

Similarly, things are with the torsion of settings, the meaning of which
the administrator does not fully understand and acts at random. One wrong
hand movement - and the system refuses to boot, and to raise it,
knowledge and qualifications are required, developed only in the fight against such
ups and downs. You can’t learn everything from books ... And here are virtual machines -
irreplaceable.

Just install the system with all applications and services on
VMware/Virtual PC/VirtualBox/etc, and all new patches, updates, tweaks,
first of all, we run it on the guest operating system, watching it
reaction. If the flight is normal, we transfer the changes to the main machine. If a
but no - we figure out what is wrong here, and where the jamb is.

Total

Virtual machines open up almost unlimited possibilities for
experiments. The main thing is to use them correctly, providing for the maximum
possible side effects and developing a plan to address them.

www

Today, virtualization is widely used in almost every part of the IT industry - from personal mobile devices to powerful computing centers, allowing you to solve a variety of tasks. Virtualization can take many forms, ranging from platform virtualization and emulation to resource virtualization. But today we will talk about native hardware virtualization - modern processors support it using instruction sets such as Intel VT-x or AMD-V.

Native virtualization is a technology that provides computing resources abstracted from the hardware layer. If we take, for example, the server segment, this abstraction allows several virtual systems to work on the same hardware platform, and also makes it possible to easily transfer virtual systems from one hardware server to another - for example, when it fails or is upgraded.

Before the advent of hardware support for virtualization, all the advantages of the technology were covered by large performance losses and the low speed of the virtual machine as a whole. The popularity of virtual machines began to grow as hardware platform manufacturers began to take active steps to reduce the costs of virtualization (appearance of hardware support, introduction of new instructions, reduction in timings when executing instructions), and processor performance became sufficient to "pull" virtual machines at an acceptable speed.

As mentioned above, one of the key factors for the normal operation of native hardware virtualization is the processor's support for specific instruction sets. Intel introduced its VT-x instruction set in 2005, as part of the Netburst architecture used in Pentium 4 processors. AMD developed its instruction set, AMD-V, and the first processors to support it entered the market in 2006. Some time later, both companies proposed new instruction sets: Intel EPT (Extended Page Tables) and AMD RVI (Rapid Virtualization Indexing), respectively. The essence of both sets is that the guest OS gains control over the virtualized memory pages directly, bypassing the hypervisor - this reduces the load on it and slightly increases the speed of the virtual system. To forward devices directly to the guest OS, Intel developed the Intel VT-d instruction set. Intel has other virtualization instruction sets in its arsenal: Intel VT FlexMigration, Intel VT FlexPriority, VPID, VT Real Mode, VMFUNC.

In new generations of processors, manufacturers not only offer new possibilities for virtualization instruction sets, but also reduce the execution timings of specific instructions, which improves the performance of the virtual system as a whole. For example, in Pentium 4 processors, the delay for executing VMCALL and VMRESUME instructions was close to 1500 nanoseconds, and in Core 2 Duo (Penryn) it was already less than 500 nanoseconds.

Closing the performance gap between real and virtual systems has made virtual machines (VMs) much more profitable to use, including for solving enterprise-level tasks. The most obvious advantages are an increase in the average load of the equipment (several VMs evenly use the resources of the hardware platform, reducing downtime), as well as the launch of an outdated OS that does not meet modern requirements (for example, security), but is necessary for the launch and operation of unique software (or for other reasons). By the way, cloud services that are so popular today are also based on virtualization technologies. Let's summarize the main benefits that an enterprise receives from the use of virtualization. It:

  • an increase in the average load of the physical server, and, consequently, the equipment utilization rate, which, in turn, reduces the total cost of the AO;
  • ease of migration of virtual servers from one physical server to another when upgrading hardware;
  • easy recovery of the virtual server in case of hardware failure: it is much easier to transfer a virtual machine to another physical server than to transfer configuration and software from one physical machine to another;
  • significant simplification of the transfer of users or business processes to new operating systems and new software: using a VM allows you to do this in parts and without touching hardware resources; in addition, in the process, you can easily analyze and correct errors, as well as evaluate the feasibility of implementation "on the fly";
  • support in business processes for the operation of an outdated OS, which for some reason cannot be abandoned at a given time;
  • the ability to test certain applications on a VM without requiring an additional physical server, etc.
  • other areas of application.

Thus, the expediency of using virtualization today no longer raises questions. The technology provides too many advantages in terms of business organization, which makes one turn a blind eye even to the inevitable losses in system performance.

However, it is always useful to understand exactly what level of performance loss between the real and virtual system is in question. Moreover, they often strongly depend on the type of tasks and software requirements for hardware resources. Somewhere this is important in terms of resource accounting, somewhere it will help determine what level of performance of a real system is needed to achieve the desired level of performance from a virtual system. Finally, there are boundary types of problems that can be solved using both virtual and real systems - and there the issue of losses can be a decisive factor.

Test Methodology

For testing, we used a set of test applications from the usual site platform performance study methodology from 2011, with some reservations. Firstly, all games were removed from the set, because the virtual graphics adapter with the Oracle driver has too poor performance: in most cases, the games did not even start. Secondly, applications that could not consistently complete the test script on one of the configurations were removed - these are Maya, Paintshop Pro, CorelDraw. For this reason, it is impossible to compare the final ratings and the total performance score of our test bench with the base of tested processors. However, comparing the results of individual tests is quite correct.

It should also be taken into account that the methodology uses versions of applications from 2011. They may not support new technologies, optimizations, and instruction sets introduced after this time. At the same time, the presence of such support in newer versions of applications can significantly affect the performance of these applications - both in a real and in a virtual system.

test stand

For testing, we took a system with a configuration suitable for the role of both a server and a high-performance workstation. In future materials, we will test virtualization capabilities on it with different host systems. Today the host is Windows 7.

  • Processor: Intel Xeon E3-1245 v3
  • Motherboard: SuperMicro X10SAE
  • RAM: 4 × Kingston DDR3 ECC PC3-12800 CL11 8GB (KVR16LE11/8)
  • Hard Drive: Seagate Constellation ES.3 1TB (ST1000NM0033)
  • Operating system: Windows 7 x64

Virtualization Software

In this material, testing is carried out using Oracle VM VirtualBox.

Oracle VM VirtualBox is a free virtual machine (VM) distributed under the GNU GPL 2 license. It supports an extensive list of operating systems: Windows, OS X, Solaris and a large number of Linux distributions (Ubuntu, Debian, openSUSE, SUSE Linux Enterprise Server, Fedora, Mandriva, Oracle Linux, Red Hat Enterprise Linux, CentOS). Initially, the VM was developed by Innotek, which was subsequently purchased by Sun Microsystems, and in 2010 by Oracle. The VM supports forwarding USB devices to the guest OS, provides Internet access and remote desktop connection. Guest OS can be either 32-bit or 64-bit. The system supports 2D and 3D hardware acceleration, as well as PAE/NX, VT-x, AMD-V, Nested Paging. Emulates a wide range of common devices: PIIX3 or ICH9 chipset, PIIX3, PIIX4, ICH6 IDE controllers, Sound Blaster 16, AC97 or Intel HD audio cards, as well as PCnet PCI II (Am 79 C 970 A), PCnet - Fast III (Am 79 C 973), Intel PRO /1000 MT Desktop (82540 EM), Intel PRO /1000 T Server (82543 GC), Intel PRO /1000 MT Server (82545 EM). Supports VDI, VMDK, VHD hard disk images, allows you to create shared folders for the guest and host OS, as well as save VM states.

Oracle has a more serious analogue of VM VirtualBox, Oracle VM Server for x86 and SPARC processors, based on the Xen hypervisor. That is, it is a completely different product for a different market segment. Oracle VM Server supports up to 160 threads on a physical server and up to 128 vCPUs in guest OSes and a maximum of 4TB of RAM, while VM VirtualBox only supports 32 vCPUs for the guest OS and 1TB of RAM.

Summing up, VM VirtualBox can be characterized as a VM for home use and for use in small firms, and ease of setup (essentially installed and everything works) does not require high qualifications from the system administrator (or does not require a dedicated system administrator at all due to ease of use) . The Oracle VM Server product is designed for larger businesses - it provides both more functionality and support for more powerful servers, but it also requires higher qualifications from the system administrator.

Software settings

For this testing, an Oracle VM VirtualBox was installed on a test bench with Windows 7 x64 operating system, on which a Windows 7 x64 image with a test application package was deployed. In the following articles, we will try how other host OS and virtualization software work.

The virtual machine itself is configured as follows: support for Nested Paging, VT-x, PAE/NX, 3D and 2D acceleration is enabled. For the needs of the VM, 24 GB of RAM and 256 MB for video memory are allocated.

Comparison with Intel Core 7-4770k

For a comparative assessment of the overall performance of the test platform based on the Intel Xeon E3-1245 v3, the tables also contain the results of the Intel Core i7-4770K processor from. This roughly compares the performance level of one of the top consumer PC processors to the Xeon server processor, plus many other interesting comparisons based on the difference in configurations. True, here it must be taken into account that the parameters of the two systems are slightly different, and this affects the results. We summarize the characteristics of the stands in a table.

Intel Xeon E3-1245 v3Intel Core i7-4770K
Number of cores/threads, pcs.4/8 4/8
Base/Boost frequency, MHz3,4/3,8 3,5/3,9
L3 cache size, MB8 8
Used RAM in the test bench4 × Kingston KVR16LE11/84 × Corsair Dominator Platinum CMD16GX3M4A2666C10
Number of channels, pcs.2 2
Operating frequency, MHz1600 1333
Timings11-11-11-28 9-9-9-24
ECCYesNo
Module volume, GB8 4
Total volume, GB32 16
Graphic cardIntel P4600Palit GeForce GTX 570 1280 MB

The Core i7-4770k has 100 MHz higher operating frequencies, which can give it some advantage. The situation with RAM is complicated: on the one hand, the Core i7-4770k has half the volume and lower operating frequency, 1333 MHz versus 1600; on the other hand, the Xeon platform has higher memory timings and uses ECC error correction.

Finally, the Core i7-4770k system has an external Palit GeForce GTX 570 1280 MB graphics card. In the 2011 test method, only a few applications can use the resources of the graphics card, and in these applications we should expect a significant superiority of the system with the Core i7-4770k. In addition, the external card does not compete with the processor for access to RAM, as the integrated Intel P4600 does, which should also give the Core i7-4770k a certain advantage. On the other hand, the P4600 drivers should contain certain optimizations to improve the performance of professional applications. However, they probably also require optimization of the software itself, so in our testing (let me remind you, we use versions of applications from 2011), these optimizations most likely will not work. But in life you will have to check each case separately, because software optimization is a very delicate process.

Configurations involved in testing

On a real system, the test suite was run in two configurations: with Intel Hyperthreading Technology (HT) disabled and enabled. This allows you to evaluate its impact on the performance of both real and virtual systems - and at the same time understand where you can use the younger Intel Xeon model of this generation, which does not have NT. The virtual machine was launched in two configurations: under 4 computing cores and under 8. As a result, we get the following configurations:

  1. Real system without HT (denoted by hw wo/HT)
  2. Real system with HT (denoted by hw w/HT)
  3. Virtual machine with 4 cores on a 4-core processor without HT (denoted vm 4 core wo/HT)
  4. 4-core virtual machine on a 4-core HT processor (denoted vm 4 core w/HT)
  5. An 8-core virtual machine on a 4-core HT processor (denoted VM 8 core)

For convenience, we summarize everything in a table.

Virtualization Cost Calculation

It is important to note that virtualization costs are not measured relative to the overall level, but rather in comparison of similar hardware and virtual configurations.

The virtualization overhead for an 8-core VM will be calculated relative to an Intel Xeon E3-1245 v3 with HT technology enabled (Real w/HT), and a 4-core VM will be calculated relative to an Intel Xeon E3-1245 v3 without HT (Real wo/HT). The cost of the experimental configuration of a 4-core VM on an 8-thread processor will be calculated relative to the Intel Xeon E3-1245 v3 without HT.

Also, as part of the testing, a performance rating will be introduced, where the performance of the Intel Xeon E3-1245 v3 is taken as 100 points. without HT.

Acceptable level of losses

The most interesting question is what level of performance loss should be considered acceptable? In theory, a level of 10-15 percent seems quite acceptable to us, given the advantages that virtualization gives to an enterprise. Especially considering that the average level of equipment utilization is increasing and downtime is being reduced.

At the first stage, we decided to see how much performance would drop when switching to a virtual system in a synthetic test. To do this, we took a relatively simple Cinebench R15 benchmark, which, however, determines the level of CPU performance in 3D modeling calculations quite well.

Real w/HTVM 8 coreReal wo/HTVM 4 core
single core151 132 (−13%) 151 137 (−9%)
Many Core736 668 (−9%) 557 525 (−6%)

A 4-thread configuration has less performance, but it also has less percentage loss - both in single-threaded workloads and in multi-threaded ones. As for the VM performance, despite the large losses, the 8-core configuration is still faster than the 4-core one. It can also be assumed that since the graphics adapter is emulated by the Oracle driver, then the presence of any load on the graphics subsystem should significantly increase the overhead for virtual systems, since it creates an additional load on the processor.

Well, in general, for now, we will focus on these figures - about 10% performance loss for an 8-thread configuration and about 6% for a 4-thread one.

Performance study

Interactive work in 3D packages

When working interactively in some CAD applications, the graphics card is heavily used, which will seriously affect both the results and the difference in performance between the real and virtual system.

CAD CreoElements

In CreoElements CAD online mode, the virtualization loss is an impressive 64% for all configurations. Most likely, due to the fact that in the real system the resources of the video card are used, and in the virtual system the load falls on the central processor through the Oracle drivers.

It is interesting to note that the i7-4770K performs less than the Xeon, even though it uses a fairly powerful discrete graphics card. ( P4600/P4700 series of professional accelerators promised by Intel?)

CAD CreoelementsReal w/HThw 4/8 vm 8
Growth from NT−4% −5%

HT technology has a negative impact on the performance of both a real system and a VM - 4% and 5% losses, respectively.

CAD SolidWorks

In SolidWorks, the picture, on the whole, does not change - the costs go beyond all reasonable boundaries, showing more than 80% loss of productivity. True, in an asymmetric configuration (CPU: 4 cores, 8 threads; VM: 4 cores), the overhead is noticeably less than in the other two configurations. Perhaps this is due to background processes running in the host OS: i.e. HT activation doubles the number of possible threads to 8, where 4 are allocated to the VM and 4 remain at the disposal of the host OS.

The desktop 4770K is much faster than the Xeon (most likely due to the fact that Solidworks is able to use graphics card resources in this scenario - C.K.). In general, the huge costs are due to the fact that SolidWorks is demanding on the graphics subsystem, and, as mentioned above, the virtual graphics card only loads the processor more.

CAD SolidWorksReal w/HThw 4/8 vm 8
Growth from NT−1% −9%

Activating NT results in performance degradation - for a physical server it's 1%, and for a VM it's 9%. Which, in general, confirms the hypothesis about background processes - since the 8-core VM "captures" all 8 CPU threads, the host OS and VM begin to compete for resources.

Group total

The costs of virtualization in this group of applications are very significant (more than 60%), and in both packages studied. At the same time, CAD CreoElements has lower costs than SolidWorks, but the latter is also able to use the resources of a graphics card, i.e. on a real system it can receive additional bonuses. HT technology does not bring any benefit on a physical server, and on a VM it completely reduces performance in both packages. In general, very high performance losses do not allow recommending virtual systems for working with 3D modeling packages. However, it is still worth looking at the final rendering.

Final rendering of 3D scenes

The speed of the final rendering of three-dimensional scenes depends on the performance of the central processor, so here the picture should turn out to be more objective.

The first thing you should pay attention to is that in the final rendering 3Ds Max shows significantly lower virtualization overhead than in interactive work in CAD - 14% for a 4-core VM and 26% for an 8-core one. However, the level of costs is well above the established levels of 6 and 10 percent.

In general, despite the rather high costs, the 8-core VM has a comparable performance level with 4-core 4-thread Intel processors, which is quite good.

3D MaxReal w/HThw 4/8 vm 8
Growth from NT26% 9%

Activating HT on real hardware can reduce rendering time by 26% - a very worthy result! As for the NT on the VM, everything is more modest here - only 9% of the increase. However, there is growth, and a noticeable one.

light wave

Lightwave shows an excellent result at all: virtualization costs are at the level of 3% for a 4-core VM and 6% for an 8-core VM. As you can see, even in the same group, applications that are intended, in principle, for the same task, behave differently: for example, 3Ds Max shows significantly higher overhead than Lightwave.

The desktop 4770K shows better performance than the Xeon E3-1245v3. It is worth noting that an 8-core VM is practically not inferior to a 4-core 4-thread physical server. (It seems that Lightwave is poorly optimized, so it reacts less to any configuration changes. What about the decrease in performance during virtualization, what the appearance of additional resources when NT is activated ... it reacts to everything weaker than 3DsMax - S. K.).

light waveReal w/HThw 4/8 vm 8
Growth from NT5% 9%

But activation of HT gives only a 5% increase in speed for real hardware and, strangely, 9% for VM.

Outcome

With the final rendering of 3D scenes using only CPU resources, the virtualization overhead is quite acceptable, especially with Lightwave, where the performance loss can be described as negligible. Enabling HT in both 3Ds Max and Lightwave has improved performance on both the physical and virtual systems.

Packing and unpacking

A key role in the performance of archivers is played by a bunch of processor and memory. It is also worth noting that different archivers are optimized differently, i.e. they can use processor resources in different ways.

7zip pack

Data compression overhead is 12% for any system.

Xeon E3-1245v3 and i7-4770K show identical results - with a slightly different frequency and different memory. Due to the high gain from HT activation, a virtual system with 8 cores outperforms a real one with four.

7zip packReal w/HThw 4/8 vm 8
Growth from NT25% 25%

However, the increase in compression speed from HT activation was set at 25% for both real hardware and VM.

7zip unpack

Due to the small size of the test archive, the results of the VM and the real server are at the same level within the margin of error, so it is not possible to realistically estimate the costs

I wonder if 22% can be considered as some kind of “pure” loss of VM?

7zip unpackReal w/HThw 4/8 vm 8
Growth from NT0% 0%

This also applies to the assessment of the effect of NT activation - after all, the volume of the test task of the 2011 sample is too small for a modern 4-core processor.

RAR pack

For RAR, the costs are noticeably higher, and they also grow for an 8-core VM. In general, 25% is still too much. But RAR has rather poor optimization, including for multithreading.

Activating HT leads to a slowdown, but given the mediocre implementation of multithreading in WinRAR 4.0, this is not surprising.

RAR packReal w/HThw 4/8 vm 8
Growth from NT−2% −11%

Due to significant losses from NT activation, an 8-core VM is even slower than a 4-core one.

RAR unpack

Since the test archive of the Methodology for a modern processor is small, the task execution time is too short to speak of any accuracy. However, it is safe to say that the costs are relatively high.

As you can see, the difference in percentage is impressive, but in reality it is only a few seconds.

RAR unpackReal w/HThw 4/8 vm 8
Growth from NT0% −5%

You can also say for sure that WinRAR does not digest HT well.

Outcome

Performance and overhead in this group are highly dependent on the archiver, on its optimization and ability to efficiently use the available processor resources. Therefore, it is difficult to make recommendations about the use in the VM - it depends more on the application, and not on the type of tasks. However, 7zip demonstrates that the level of packaging overhead can be relatively small, and it is quite possible to use this archiver in virtual machines.

Audio encoding

This group combines several audio codecs that work through the dBpoweramp shell. The speed of audio encoding depends on the performance of the processor and on the number of cores. This test also scales very well to more cores, as the application is multi-threaded by running encoding multiple files in parallel. Since encoding with different codecs creates almost the same load on the system and, accordingly, shows similar results, we decided to bring all the results into one common table.

So, the general costs of virtualization.

Audio encoding is the ideal in terms of virtualization overhead. For a 4-core VM, the average cost was only 4%, and for an 8-core VM it was 6%.

Real wo/HTVM 4 core w/HTVM 4 core w/HTReal w/HTVM 8 core4770K
Appleresults295 283 281 386 362 386
Appleperformance rating100 96 95 131 123 131
FLACresults404 387 383 543 508 551
FLACperformance rating100 96 95 134 126 136
Monkey Audioresults299 288 282 369 348 373
Monkey Audioperformance rating100 96 94 123 116 125
MP3results185 178 175 243 230 249
MP3performance rating100 96 95 131 124 135
Nero AACresults170 163 161 229 212 234
Nero AACperformance rating100 96 95 135 125 138
OGG Vorbisresults128 124 123 167 159 171
Nero AACperformance rating100 97 96 130 124 134

As you can see, although the real results for different codecs differ, but if you take percentages, they are surprisingly similar. The Core i7-4770k often turns out to be slightly faster (apparently, the higher frequency plays a role). It is also interesting to note that the test results of a 4-core VM on a system with activated NT are always slightly lower than without it. This is probably a consequence of just the work of NT. But in general, a 3-5% performance difference between a real and a virtual system is a very good indicator.

Separately, let's see what NT activation adds.

Audio encodingReal w/HThw 4/8 vm 8
Apple31% 28%
FLAC34% 31%
Monkey Audio23% 21%
MP331% 29%
Nero AAC35% 30%
OGG Vorbis30% 28%

Activating HT technology allows you to increase the speed by 31% on a real server and by 28% on a virtual one. Also one of the best results. Finally, a summary table of results.

Compilation

Compilation speed also depends not only on the frequency and performance of the kernel, but also on their number.

The performance of the server Xeon is comparable to the desktop i7. An 8-core VM falls short of a physical system with NT disabled.

GCCReal w/HThw 4/8 vm 8
Growth from NT24% 7%

A noticeable increase in performance occurs when NT is activated on a physical server - 24%, but on a VM, an increase in the number of cores allows you to increase performance by only 7%. Although this is also good.

The Intel compiler shows a slightly larger performance drop during virtualization than GCC - 19% and 33% for a 4-core and 8-core VM, respectively.

Xeon performance is comparable to i7, and 8-core VM performance is comparable to Xeon wo/HT. And at the same time it is clear what an impressive increase gives the activation of NT. Still, an Intel product, so there is nothing strange in the fact that they tried to unify it under NT. In numbers it looks like this:

You can also estimate the difference in time it took to complete the task. So, too, it is quite clear.

MSVCReal w/HThw 4/8 vm 8
Growth from NT29% −26%

As for NT, its activation on a real system allows you to increase the speed by as much as 29%, while in a virtual system there is approximately the same decrease in performance. It is also worth noting that an asymmetric VM configuration with 4 cores on an 8-thread processor shows lower overhead than a symmetrical one, but an impressive increase in costs is seen on an 8-core VM.

In general, this compiler on the VM runs with too much performance loss.

Total

GCC shows an acceptable level of costs, ICC - more, but they can still be tolerated. The compiler from Microsoft on virtual systems is very slow. But all members of this group show a good performance gain when activating NT - except for MSVC in a virtual system.

Mathematical and engineering calculations

With the exception of MATLAB, this group of tests does not have multi-threaded optimizations as such.

Mathematical and engineering calculations in Maple show quite an acceptable level of costs - 11%.

An 8-core VM is slightly slower than a quad-core one. But in general, the results of virtual systems are not bad.

Unlike the previous scenario, the 8-core VM is noticeably behind the 4-core variants. By the way, 4770k is slower here than Xeon. Well, it is clear that with the activation of NT, everything is not very good.

Moreover, all VM variants show similar performance, although the 8-core version is slightly behind.

The solid performance of the Core i7-4770k is due to the presence of an external graphics card.

SolidWorks (CPU)Real w/HThw 4/8 vm 8
Growth from NT0% −5%

On a physical server, SolidWorks does not react in any way to NT activation, but on a VM there is a reaction, but a negative one - a 5% decrease in performance.

Total

The level of costs in this group depends on the application used: the minimum for Maple, the maximum for CreoElements. In general, mathematical calculations can be recommended for virtualization with reservations.

Raster graphics

Due to poor optimization or other reasons, ACDSee has huge performance losses in virtual systems.

With such a difference in the execution time of the test scripts, it would be hard to recommend this application for use in a virtual machine.

The sight of not real runtime figures also evokes sadness.

Well, the results of enabling Hyperthreading:

The results of virtual systems are not bad, but you should not use an 8-core configuration. Interestingly, the 4770K and the HT system are slightly behind the reference system, i.e. HT activation makes things worse.

It is more or less possible to work in a virtual system if it is 4-core.

photoshopReal w/HThw 4/8 vm 8
Growth from NT1% −16%

Activation of NT practically does not bring dividends on a real system, and the performance of the VM worsens by as much as 16%.

Total

It is worth mentioning that in most applications we are talking about batch processing of files. Since the processing time of a single file is relatively short, a significant part of the time is spent on read / write operations, which, in the case of a virtual system, create an additional load on the processor and lead to additional loss of time (Virtual hard disk is an image stored on a physical hard disk - and this is another intermediary directly between the application and the hardware).

As for the conclusions, almost all applications for working with raster graphics react badly to the activation of HT in virtual machines, and its activation on a real system goes unnoticed. Performance on a 4-core VM depends on the application: two out of four applications have relatively low activation costs, and these applications can be used in the VM. But you should not set 8 cores in the settings - instead of increasing performance, you will get a significant deterioration in it. In general, image processing programs will have to be tried in order to individually evaluate the performance and its drop in the VM. The level of costs when moving to a virtual platform for the tested applications seems high to us.

Vector graphics

This group is single-threaded, so performance will only depend on the performance of a single core.

Illustrator

Approximately the same situation as in the previous group - more or less acceptable costs for 4-core VMs and large performance losses for 8-core VMs,

The performance of the E3-1245v3 is comparable to the 4770K - although the latter is somewhat faster at the expense of 100 extra megahertz. As for the overall picture… The drop in percentage does not look particularly terrible, but in reality it can result in noticeable additional loss of time.

IllustratorReal w/HThw 4/8 vm 8
Growth from NT0% −12%

And the same situation with NT - no gain from activation on a real system, a noticeable drop in performance on a virtual one. However, we have already described the reason above.

Video encoding

It should be taken into account that the first three participants are full-fledged graphic packages, i.e. we are talking about interactive work and the subsequent creation of a video. Whereas the rest of the participants are just coders.

expression

With video encoding in Expression, the situation is not very good - even on 4-core systems, performance loss is under 20%, and on 8-core systems - almost by a third.

As you can see, powerful processors with NT enabled lag behind the version without it.

Well, let's see what NT gives.

Interestingly, the Core i7-4770k performs noticeably better in this package than on our test system.

Vegas ProReal w/HThw 4/8 vm 8
Growth from NT0% −16%

Activating NT does not bring any dividends on a real system, but on a virtual one it shows a 16% performance degradation.

In general, Vegas Pro seems to be significantly less optimized for modern processors and wastes their resources inefficiently. Therefore, Premiere looks much nicer in terms of the prospects of working in a virtual environment.

Well, now let's see how pure video encoders behave.

So, x264 demonstrates, on the whole, tolerable costs, and, for once, an 8-core VM is more efficient than 4-core ones.

The performance of an 8-core VM is only 9% lower than the Xeon wo/HT.

The numbers, as they say, speak for themselves.

xvidReal w/HThw 4/8 vm 8
Growth from NT−4% −34%

Alas, NT activation brings only harm. And if on the physical server the losses are insignificant - 4%, then on the VM they reach 34%. That is, both Xvid and VM operate logical cores inefficiently.

Total

So, for video editors, the level of performance losses depends primarily on the editor itself, so suitability for working in a VM should be assessed individually. In our tests (and for the versions of products we use), Premiere performed significantly better.

As for the encoders, although there is a difference between them, they all show pretty good results in 4-core VMs. As for the use of 8-core virtual machines, here you can get both an increase and a serious drop in performance. Another issue is that when deciding to start video transcoding on a virtual machine, one should always remember that modern processors and graphics have a wide range of optimizations for this class of tasks (as well as software), and in the Oracle Virtual Box VM, work will be carried out in program mode, i.e. both slower and with a higher processor load.

Office software

Chrome in the test did not behave quite adequately, so the results should be treated with a great deal of skepticism.

And the results from NT activation.

ChromeReal w/HThw 4/8 vm 8
Growth from NT68% −8%

This subtest should not be taken seriously in the group due to these circumstances.

MS Excel shows overhead at 15% and 21% for 4-core and 8-core VMs. In principle, the level of costs can be called high. Although in practice, the user is unlikely to notice a slowdown, except in some very complex calculations. An 8-core system traditionally has higher overhead.

The test task for Excel takes a lot of time, which allows you to clearly demonstrate the difference in time to complete it. As you can see, the virtual system will run it 2 minutes longer.

And separately costs from NT:

Due to the high efficiency of HT, the 8-core VM manages to outperform the physical server based on the Xeon wo/HT. Interestingly, the 4770K shows a noticeably higher result. View the table with the results

VM 4 core w/HTReal w/HTVM 8 core4770K results0:44 0:49 0:49 0:44 0:51 0:43 performance rating100 90 90 100 86 102

Due to the short execution time of the test package, and hence the high error, it is difficult to judge the effectiveness of NT.

Activating NT results in a 14% decrease in performance on the VM.

Total

The most important thing to keep in mind is that in most cases the performance of modern systems will be enough for all office tasks, most likely even with a margin. And since the level of performance is sufficient, the user will not be interested in what the costs are.

Java

This test suite is interesting because Java is essentially a virtual machine, and therefore running Java on Oracle VM VirtualBox means running a virtual machine on a virtual machine, which implies a double abstraction from the hardware. That is why we should expect adequate costs - all the main performance losses occurred at the level of porting the program code to Java.

The cost of an 8-core VM was set at 8%, and a 4-core one - 5%.

Due to the high efficiency of the HT and low costs, the 8-core VM shows 6% higher performance than the Xeon wo/HT. The increase from NT on real hardware was 16%, and on VM - 12%.

JavaReal w/HThw 4/8 vm 8
Growth from NT15% 12%

Looking at the results of Java, we can assume that the virtualization of various frameworks and programs written in programming languages ​​with translation into their own bytecode will not have high costs, since all the main costs are "laid" in them. That is, the widespread use of programming languages ​​with pseudocode is not such a bad thing, especially for virtual machines.

Video playback

This section should be considered just as an illustration - since real systems use DXVA, i.e. hardware acceleration - accordingly, the load on the processor is minimal. In contrast to the situation with the VM, where all calculations are made programmatically. It is also not included in the final score.

Let me remind you that here the value of the tables is the level of processor load. Why it is more than 100% - you can read in the methodology.

MPCHC (DXVA)

This is a good illustration of the effectiveness of hardware acceleration, and when playing video, everything is clear. But it is worth remembering that on modern systems, approximately the same results can be achieved with the help of other optimizations - the same Qsync for working with video, CUDA for graphic calculations, etc.

MPCHC (software)

But in software mode, the difference between a physical server and a virtual one is small - 4%. De facto, the performance cost is negligible.

VLC (DXVA)

Interestingly, in VLC, the CPU load for the VM is significantly lower than in MPC HC.

VLC (software)

In soft mode, there is practically no difference between real hardware and VM again. Enabling DXVA in a virtual system only adds extra work to the processor.

Multitasking environment

Overhead in a multitasking environment was 32% and 25% for the 8-core and 4-core VM, respectively. The 4-core VM failed very badly, the costs there are as much as 67%. It's hard to say why this happens (let me remind you, we are talking about a stable result with several launches).

And what happens when NT is activated

MultitaskingReal w/HThw 4/8 vm 8
Growth from NT14% 3%

NT technology in a multitasking environment is bearing fruit for a real system - 14% increase, but VM is much worse - 3%.

Multitasking testing is a rather delicate process that is influenced by many factors. Therefore, it is difficult to draw unambiguous conclusions with 100% certainty. For example, how can one explain the huge drop in performance of a quad-core VM when NT is activated? Any specific features of the interaction between the host OS and the VM? Or do the applications used in the test lose a lot of performance (and we saw the examples above) and in the aggregate give such a result? By the way, if the last statement is true, then it shows well that the total costs of using the VM can be very high.

Finally, pay attention to the performance of the Core i7-4770k, which in this test was very far behind our test bench, although it did not allow any failures in some tasks. What's the matter here? Probably, the reason for the drop in performance is the swap due to the lack of RAM, which only manifests itself when running several "heavy" applications at the same time. However, we will not exclude other reasons.

Average score

This, of course, is the average temperature in the hospital, but still ...

The arithmetic average cost of virtualization across all tests was 17% and 24% for a 4-core and 8-core VM, respectively.

The gain from NT was 12% for the physical server and 0% for the VM.

And on that positive note, let's jump to conclusions.

conclusions

In my opinion (S. K.), it is not worth analyzing performance and performance losses for individual groups or applications: everything is too volatile in the software world. But certain trends can be noted.

Conclusion one: Hyperthreading does not always help even on a real system - sometimes its activation leads to some performance degradation. With virtual systems, the situation is even more complicated: an 8-core VM often loses in performance to a 4-core one. That is, you can use the “4 cores + NT on a real processor” bundle and an 8-core VM only for those tasks where you know for sure that the result of such a decision will be a plus, not a minus. However, here you need to remember that the task of NT was precisely to improve performance in a multitasking environment and (like in VMs), to stabilize the load on the processor. Therefore, the system as a whole should always benefit from the activation of HT - especially the server one.

Conclusion two: the costs of moving to a virtual machine rather depend not on the type of tasks, but on the specific application. Moreover, the efficiency of using an application in a virtual machine (VM) is apparently determined by how its algorithms "fit" with the features of the VM. For example, we cannot determine for sure whether a large performance drop when working with images in a VM is a consequence of the fact that this class of tasks is generally poorly “virtualized”, or a consequence of the fact that existing applications simply use outdated algorithms that are not optimized, because On today's fast processors, everything works so well.

Moreover, I have serious suspicions that this thesis can be attributed to all applications where the costs are high - these applications are simply poorly optimized. That is, they also use the resources of real systems inefficiently, it's just that the high level of performance of modern processors allows you not to bother yourself with this. This thesis can be attributed to professional applications for working with three-dimensional graphics, scientific calculations, and some other individual applications.

In some groups, virtualization gives relatively small costs - first of all, audio and video coding catches the eye. As a rule, we are talking about a simple and stable load associated specifically with calculations. This brings us to the next conclusion.

Conclusion three: Now the main problems for a virtual machine begin when a real system can use hardware optimizations. There are many different optimization technologies at the disposal of a real system: DXVA, OpenCL, QSync and others - which allow you to remove the load from the central processor and speed up the task. There is no such possibility in the Virtual Box virtual system. However, the VT-d instruction set allows you to forward PCI devices to a virtual environment. For example, I (S. K.) saw a professional HP solution with Nvidia Grid 2 video adapters, whose computing resources can be virtualized. In general, the situation depends on the virtual machine itself, devices, drivers, systems, etc. Therefore, we will definitely return to this issue.

Finally, a few words should be said about this thing (although we will save the main conclusions until the end of all testing). Is it worth calculating the percentage of performance drop, and based on it, decide which tasks are subject to virtualization and which are not? For example, is a 20% drop in operating speed a lot or a little?

S. K. In my opinion, this is not the way to put the question, and here's why. Deciding whether or not to use virtual systems lies in the field of business organization, and not in the field of technical aspects. And the business benefits can outweigh even a 50% performance hit. But even if you look at individual and seemingly resource-intensive tasks, then everything is not so obvious. For example, transcoding a video or calculating a 3D model takes 30 minutes, while a virtual one takes 50 minutes. It would seem that the conclusion is obvious - using a real system is more optimal! However, if the scene is considered to be on the user's workstation, then that time it cannot run. And if you can dump it on the server and deal with the next one (and its preparation will be guaranteed to take more than 50 minutes), then in general, work efficiency will increase. And if several scenes are calculated on the server - even if in a row and slowly - then all the same, from the business point of view (and with proper task parallelization), the gain is obvious.

C.I. On the other hand, very often a server is selected for a certain level of performance in general or in certain applications, and at the same time in a very limited budget. That is, taking a more powerful and more expensive option “in reserve” will not work. Under these conditions, the transition to a virtual system (and the choice of software with high costs) can lead to the fact that as a result the server simply will not be able to cope with high loads and with the tasks assigned to it.

This concludes this study of the performance of a virtual system with Windows OS and Oracle VM VirtualBox. In the next article, we will look at how much the performance of Windows 7 in a VM will change if Linux acts as the host OS.

Let's take a closer look at what virtual machines for Windows are and what they are for. Learn all about the best OS simulators and how to get started using them.

A virtual machine (VM) is a computer application with which a user can create a simulation of an operating system. An OS image is installed on the machine for use inside an existing system. Very convenient, isn't it? But there are also pitfalls. Read what you will encounter during installation and which virtual machine for Windows versions 7.8 and 10 is better to choose.

Why do you need virtual machines for PC?

In most cases, VMs are used to test software in . To work with multiple operating systems, you need only one computer, which significantly speeds up the work.

You can run multiple virtual machines on the same computer at the same time. Their number depends on the available RAM and space on the child's disk, since the virtual OS consumes exactly the same memory resource as the regular copy installed on the computer.

With the help of virtual machines, you can work with programs and functions that are not available in the main OS. Also, it is possible to create backup copies of VMs, with their subsequent movement and use on other computers.

Viruses, bugs and other failures of the virtual OS do not affect the operation of the main system. After the machine is closed, the additional OS stops and the RAM is freed.

During the operation of the VM, the device may slow down, because the increased consumption of storage resources leads to an increase in the processing time of requests.

Reasons for installing a VM:

  • You want to get acquainted with the work of other operating systems without their full installation. If there is a need to replace an existing OS, first use the virtual simulator to test other software options. This will save you from possible bugs and incompatibility with the hardware;
  • You are a developer and want to create a comprehensive system for testing applications you create.

virtual box

VirtualBox is a virtual machine for Windows 7,8,10. The virtualization environment is distributed free of charge and can be installed both to work with operating systems and to deploy network infrastructure and hosting sites.

VirtualBox main window:

The main feature of this virtual machine is cross-platform. It works great on all versions of Windows. Also, from the developer's site you can download installers for Mac OS, Debian. In the virtualization environment itself, you can install any desktop OS.

With VirtualBox, you can familiarize yourself with the functionality of the OS or test the program in safe mode without harming the main system. Often users prefer to install old games on virtual machines that are incompatible with modern operating systems.

After the simulator is completed, all data and changes will be saved. The next time you turn it on, you will be returned to the desktop and can continue to perform tasks.

Advantages and disadvantages

Benefits of VirtualBox:

  • Free distribution. 90% of similar software is paid, while VirtualBox can be obtained completely free of charge. The functions and capabilities of the program are not limited to the developer;
  • Ability to create screenshots - screenshots of a virtual system. The resulting image will only display the additional OS window. Taking screenshots with the main OS degrades the resolution and also captures your regular desktop;
  • Creation of an exact copy of an existing virtual machine;
  • Ability to drag and drop folders, shortcuts and other objects inside the simulator;
  • Unified file system - from the virtual machine you can access the directories that are stored on the PC, and vice versa;
  • Simultaneous work with several machines.

Also, a distinctive feature of the new VirtualBox 4 is a convenient virtualization management system and an intuitive program workspace. Also, in the new assembly, the ability to capture video from the screen of an additional OS is available.

VirtualBox supports working with USB-drives connected to the computer.

Program disadvantages:

  • Computer slowdown. Even if your PC has good technical specifications, enough space for RAM and permanent memory, when using a virtual machine, you will experience slower performance of all functions. If during the process of creating a VM you allocated too much memory to it, the computer will freeze or shut down severely;
  • Insufficient video memory. If you need to achieve the highest quality image, it will be difficult to do this using VirtualBox. The program allows you to configure the settings for using the video card only at the basic level.
How to install

To install the VirtualBox program, download the installer from the official website of the developer - Oracle. The installation process is standard and does not require additional settings:

  • Run the EXE file;
  • Select the Hard disk where the root folder with the program will be located;
  • Wait for the installation to complete. If necessary, the user can view hard disk usage statistics during the installation process.

In the "Custom Setup" field, it is possible to disable support for USB, network services. This allows you to reduce the final size of the application.

Video tutorial on how to install two OS using VirtualBox

After installing the program, you can start creating the first virtual machine. Click on the "Create" button in the upper left corner of the window. The VM settings tab will open:

In the setup wizard window, select the type of virtual OS (Windows, Linux, Debian, MacOS) and its version. Specify a name for the created simulator and click on the "Next" button.

Then, the program will give you the opportunity to independently specify the amount of RAM that will be allocated for an additional OS. For novice users, we advise you to set the value that is indicated in the "Recommended main memory size" field.

The size of the RAM for the VM should be determined depending on the technical characteristics of your PC. If your computer has 4 GB of RAM available, 512 MB-1 GB will be enough for the simulator to work properly.

Next, the program will ask you to select an OS image in the file system (which corresponds to the previously specified family and version). When the setup is completed, a window will appear with a brief listing of all parameters. Click on "Finish".

After the installation of virtual Windows is completed, an icon for starting the OS will appear in the main window of VirtualBox. Click on it and wait for the desktop to load. If necessary, install the drivers.

To update drivers automatically, open the Devices tab in the virtual machine toolbar. Then click on the desired media type and follow the instructions in the new window to get the new software.

Ready. Now you can start working with the virtual operating system. To exit the program, first turn off the OS, and then close VirtualBox.

VMware

VMWare Workstation is the best virtual machine for Windows 10. The developer positions the program as a convenient platform for creating . Compared to other popular counterparts, VMWare supports more features for customizing a virtual machine and allows you to synchronize the simulator with software development tools.

This virtualization environment is popular among programmers, web designers and other professionals who often have to test their projects for cross-platform.

Advantages and disadvantages

Among the advantages of VMWare are:

  • Convenient toolbar;
  • Synchronization with Microsoft development tools, in particular the .NET platform and the Visual Studio software environment;
  • Safety system. Built-in VMWare tools provide a high level of protection for your files in an additional OS. The simulator can detect attempts by malicious activity to eliminate them;
  • Operation of encryption services for the created virtual machines.

Application disadvantages:

  • Paid distribution. The user can download a free trial version of the utility, but to get the full version of the application with all available features, you will need to pay for an annual or monthly subscription;
  • Not suitable for beginners. If you have not used operating system simulators before, we recommend that you start with simpler options. For example, VirtualBox and Hyper V standard for Windows. VMWare is suitable for advanced users who prefer to manually configure the system.
How to install

You can download a virtual machine for Windows from the official website of the developer VMWare.com.

It is recommended to turn off Windows Defender or other running antivirus during the installation process. This is only necessary for the correct installation of all files and encryption algorithms that the program uses for virtual machines. No harm will be done to your main OS, since the product is downloaded from an official source.

Overview of the functionality and the first setup of the program

To create the first virtual machine in VMWare, you will need to download the OS distribution kit that you want to use in the emulator to your computer. Then open the window of the installed application and click on the field "Create a new virtual machine"

Note! The user can create a group of virtual machines instead of several simulators. This allows you to reduce the resource of consumed RAM and speed up the computer and the OS simulator.

In the VM Configuration Wizard window, specify the path to the operating system image (it can be a file in the computer's memory or a boot disk). Also, it is possible to set up a virtual machine without installing the OS (you can install it later).

  • In the window that appears, specify the OS name, username and password for accessing the account;
  • Specify on which disk of your computer the virtual machine will be stored;
  • Allocate the amount of RAM you need to run the VM;
  • Set up the equipment (automatically or manually).

After completing the virtual machine setup, wait for the OS image to install and start working:

Microsoft Virtual PC

Microsoft Virtual PC is another popular virtual machine emulator. The program is well compatible with all versions of OS Windows. If you are using a Microsoft product as your main OS, we recommend choosing Microsoft Virtual PC for emulation.

Advantages and disadvantages

Emulator Benefits:

  • Excellent compatibility with all versions of Windows OS. In most cases, the user does not need to install any additional drivers for the virtual OS. All of them are synchronized with the main system;
  • Shared access to the file system. Access files stored on the PC hard drive through the VM window;
  • Support for 64-bit Windows OS in "Guest host" and "Guest environment" operating modes;
  • Support for hardware virtualization.

Flaws:

  • There are paid features. The program is distributed free of charge, but you will have to buy a subscription to support setting up a group of virtual operating systems;
  • There is no support for Linux-like systems.
Overview of the functionality and the first setup of the program

To install a virtual OS, first load its image into the computer's memory, and then open the Microsoft Virtual PC application. Click on the "Create a virtual machine" button and in the new window configure the following settings:

  • Set the name of the new OS;
  • Allocate space for her hard drive and the amount of RAM;
  • Select which devices the VM will support (network environment, flash drives, and so on).
Outcome

We have told you about the best virtual machines for Windows, but not all of them. If you think that these are not the best - write in the comments! Help novice readers decide which emulator to start with.


In this article, we will look at several ways to improve the performance of a virtual machine VMware Workstation, Oracle VirtualBox, Microsoft Hyper-V or any other. Virtual machines are quite demanding on the characteristics of the computer, because during their operation several operating systems are running on the PC at the same time. As a result, the virtual machine may be significantly slower than the main operating system or even stutter.

In this article, we will look at several ways to improve the performance of a virtual machine, Oracle VirtualBox, Microsoft Hyper-V, or any other.

Content:


Dynamic or fixed virtual hard disk?

When creating a virtual machine, you can create two different types of virtual hard disks. By default, the virtual machine uses a dynamic disk, which takes up the necessary space on the physical storage medium and grows only as it fills up.

For example, when creating a virtual machine with a 30 GB dynamic disk, it will not immediately take up 30 GB of the computer's hard disk. After installing the operating system and the necessary programs, its size will be about 10-15 GB. Only as data is added, it can increase up to 30 GB.

This is convenient from the point of view that the virtual machine will take up space on the hard disk, which is proportional to the amount of data stored on it. But, the operation of a dynamic hard disk is slower than a fixed one (sometimes also called distributed).

When creating a fixed disk, all 30 GB on the computer's hard disk will be allocated to the virtual machine disk immediately, regardless of the amount of data stored on it. That is, the fixed hard disk of a virtual machine takes up more space on the computer's hard disk, but saving or copying files and data on it is faster. It is not so prone to fragmentation, since the space for it is allocated as large as possible, instead of being added in small parts.


Installing the VM Tools Pack

After installing a guest operating system on a virtual machine, the first thing to do is install a package of tools or drivers for your virtual machine, for example: VirtualBox Guest Additions or VMware Tools. Such packages contain drivers that will help the guest operating system run faster.

Installing them is simple. In VirtualBox, boot up the guest operating system and select Devices / Mount Additional Guest OS Disk Image… "This computer"



In VMware Workstation, select menu Virtual machine / Install the VMware Tools package... Then run the installer, which will appear as a separate disk in the folder "This computer" guest operating system.



Add the folder with the virtual machine to the exclusions of your antivirus program

The antivirus program, among others, also scans the files of the virtual machine, which reduces its performance. But the fact is that the antivirus program does not have access to files inside the guest operating system of the virtual machine. Therefore, such a scan is meaningless.

To get rid of a decrease in the performance of a virtual machine, you can add a folder with it to the exceptions of the antivirus program. Antivirus will ignore all files in this folder.


Intel VT-x or AMD-V activation

Intel VT-x and AMD-V are special virtualization technologies that are designed to provide greater performance for virtual machines. Modern Intel and AMD processors usually have this feature. But on some computers it is not automatically activated. To enable it, you need to go into the BIOS of the computer and activate it manually.

AMD-V is often already activated on the PC, if supported. And Intel VT-x is most often disabled. Therefore, make sure that the specified virtualization features are already enabled in the BIOS, and then enable them in the virtual machine.


More RAM

Virtual machines are demanding on the amount of available RAM. Each virtual machine includes a complete operating system. Therefore, it is necessary to separate your PC operating system into two separate systems.

Microsoft recommends a minimum of 2 GB of RAM for their operating systems. Accordingly, such requirements are also relevant for the guest operating system of a Windows virtual machine. And if you plan to use third-party demanding software on a virtual machine, then even more RAM will be required for its normal operation.

If, after creating the virtual machine, it turned out that there is not enough RAM for its normal operation, then it can be added in the virtual machine settings.

Before doing this, make sure the virtual machine is powered off. Also, it is not recommended to provide a virtual machine with more than 50% of the virtual memory physically present on the computer.


If, having allocated 50% of your computer's memory for a virtual machine, it turned out that it did not work comfortably enough, then your computer may not have enough RAM to work normally with virtual machines. For normal operation of any virtual machine, 8 GB of RAM installed on the main PC will be enough.

Allocate more CPU

The main load during the operation of a virtual machine falls on the central processor. Thus, the more CPU power a virtual machine can take, the better (faster) it will work.

If the virtual machine is installed on a computer with a multi-core processor, then in the virtual machine settings for it, you can select several cores for its operation. A virtual machine on two or more CPU cores will run noticeably faster than on one.


Installing a virtual machine on a machine with a single-core processor is not recommended. Such a virtual machine will work slowly and its performance of any tasks will be inefficient.

Correct video settings

Video settings can also affect the speed of the virtual machine. For example, enabling 2D or 3D video acceleration in VirtualBox allows some applications to run much faster. The same applies to the possibility of increasing the video memory.

But, as in the case of RAM, a lot depends on the video adapter that is installed on the main computer.


Virtual machine and SSD drive

The first and best computer upgrade to date is installing an SSD drive on it. This will significantly speed up the operation of the computer, and, accordingly, the virtual machine installed on it.

Some users install virtual machines on another (HDD) disk of their computer, leaving only the main operating system on the SSD. This makes the virtual machine run slower. Free up space on the SSD drive and move the virtual machine to it. The difference in the speed of work will be felt from the first minutes.

If possible, do not place virtual machine disks on external storage media. They are even slower than the built-in HDD. Options are possible with connecting a virtual machine via USB 3.0, but USB 2.0 is out of the question - the virtual machine will work very slowly.

Suspension instead of closing

When you have finished working with a virtual machine, you can pause it instead of shutting it down completely.


The next time you launch the virtual machine application, you can turn on the virtual machine in the same way as usual. But it will load much faster and in exactly the same state and from the place where you finished working last time.

Suspending the guest operating system is very similar to using hibernation instead of shutting down the PC.

Improving performance inside the virtual machine

It is always necessary to remember that the operating system installed on the virtual machine is not much different from the one that runs on the main computer. Its work can be accelerated by following the same principles and using the same methods that are relevant for any other operating system.

For example, system performance will increase if you close background programs or those that automatically start at system startup. System performance is affected by the need to defragment the disk (if the virtual machine is located on the HDD), and so on.

Programs for working with virtual machines

Some users claim that Oracle VirtualBox is the fastest tool for working with a virtual machine, for others - VMware Workstation or

This article focuses on the best virtualization platform for desktop computers VMware Workstation, forgive me fans of VirtualBox, HyperV and others.

A virtual machine is a program that allows you to emulate an independent computer in the environment of a working operating system. A virtual machine allows you to run your own operating system and applications just like a physical computer.

Such a program allows you to emulate a processor, RAM, hard drive, BIOS, etc.

The emulation program itself, as well as the operating system running in it, is called the virtual machine, while the main operating system and the physical machine are called the host system.

Purpose of VMware Workstation

1. VMware Workstation allows you to try out any (almost any) operating system on your computer without having to create new partitions on the physical hard drive.

2. VMware Workstation allows you to install multiple operating systems on a single computer without having to properly configure the physical hard drives.

3. VMware Workstation allows you to work with multiple operating systems simultaneously with the ability to dynamically switch between them without rebooting the system.

4. VMware Workstation allows you to test applications running various operating systems (eg XP and 8).

5. VMware Workstation allows you to emulate a computer network.

6. VMware Workstation allows you to reduce the risk of host system infection by running non-secure software in an isolated virtual environment.

7. Teachers use VMware Workstation to create virtual machines for students that include all the applications required for teaching. Nothing bad will happen if a student, in the process of learning, intentionally or unintentionally destroys the experimental environment. It takes only a few seconds to restore a damaged virtual system from a backup (the Snapshot created earlier).

VMware Workstation Technology Preview 2014 System Requirements

As stated in the VMware Workstation Technology Preview 2014 documentation, the platform system requirements are similar to VMware Workstation 10, except for the following:

1. 32-bit operating systems are no longer supported as a host system (now the platform can only be installed on 64-bit systems)

2. Windows XP 64-Bit, Windows Vista 64-Bit, Windows Server 2003 64-Bit and Windows Server 2008 (64-bit (not including R2) are also not supported as a host system

The rest of the system requirements are the same as VMware Workstation 10

  • Minimum CPU clock speed 1.3 GHz
  • The minimum amount of RAM for the host system is 1 GB, 2 GB is recommended.
  • The minimum amount of RAM for a guest system is 256 MB.
  • 1.5 GB free hard disk space

There are versions of the program for Windows, Linux. Windows and Linux versions of the program have a single serial number, so when buying an application for one of these operating systems, the user can use it for free in another. If you need a Mac program, then you need to install VMware Fusion.

VMware also has a free product - this is VMware Player, which can be used free of charge for personal non-commercial purposes.

What is the difference between VMware Player and VMware Workstation?

VMware Workstation is a much more powerful solution with advanced features such as snapshots, vSphere remote connections, cloning, virtual machine sharing, advanced customization, and more. Workstation is intended for use by technical professionals - developers, quality assurance specialists, systems engineers, IT administrators, technical support specialists, consultants, etc.

Installing VMware Workstation

1. Download VMware Workstation 11 Preview


Fig.1 VMware website

M50AC-J034J-08L8A-03ARM-3D14A

c. Download program. To download the program, you must register on the site.


2. Run the program installation file VMwareworkstation(the new version of VMware Workstation is installed only on 64 bit Windows systems).

3. At the first step of installing the program, click the button Next


4. In the license agreement dialog, set the radio button I accept the terms in the license agreement and press Next


5. In the next window for choosing the method of installing the program, specify Typical


6. Specify the path to install the program VMwareworkstation and press Next


7. If you want to check for updates when VMware Workstation starts, check if the checkbox is checked. Check for product updates on startup and press Next


8. In the next window, you must specify whether the program will send anonymous statistics to VMware. This statistic includes the name of the product being used, version, build number, and program configuration. This data allows the company to identify popular configurations and timely optimize their product in the right direction.10. Upon completion of the installation, you must enter the license key of the program, which was indicated above.


11. After installation is complete, press the button Finish

Top Related Articles