当前位置:首页 > 虚拟机 > 正文

vmware虚拟机的原理是什么


一、虚拟机是怎样运行的,原理是什么?

虚拟机运行:

是指通过软件模拟具有完整硬件系统功能并在完全隔离的环境中运行的完整计算机系统。

原理:

原来写的Java源文件(.java文件)的方式是一步步实现的,如下,先是源文件Java通过编译器前端(javac或ECJ)将.java文件编译为Java字节码文件。

然后JRE将Java字节码文件加载到系统分配给JVM的内存区域中,然后执行引擎解释或编译该类文件,然后编译器正好将字节码转换为机器代码。

高级信息:

虚拟机资源涉及很多方面:CPU、内存、网络和磁盘。设计虚拟机时应考虑这些资源之间的关系。否则,不合理的资源分配将导致虚拟机中的应用程序性能不佳。

CPU:

每个虚拟机vCPU仅运行在一个物理核心上,因此CPU频率越高,虚拟机运行速度越快。更高、更多的vCPU有助于提高应用程序性能。

另一个复杂的因素是,在ESXi服务器中,所有虚拟机共享物理CPU使用率。ESXi服务器的核心数越多,每个vCPU获得的核心份额就越大,因此多核性能比核心频率高但数量少的情况要好。

如果虚拟机需要占用大量CPU时间,可以考虑为虚拟机分配第二个vCPU,但是,为虚拟机分配两个以上的vCPU并不一定能让应用程序运行得更快,因为只有多线程应用程序才能有效地使用多个vCPU。

RAM:

ESXi服务器中的RAM资源通常是有限的,因此在为虚拟机分配RAM时需要更加小心。VMkernel在处理RAM方面非常智能,它允许虚拟机使用ESXi服务器的所有物理内存,并尽量避免占用物理内存而不实际使用它。

物理内存完全耗尽后,VMkernel必须确定哪些虚拟机可以保留物理内存,哪些虚拟机需要释放物理内存。这称为“内存回收”。当虚拟机占用的物理内存被回收时,存在影响虚拟机性能的风险。虚拟机回收的内存越多,相应的风险就越大。

最明智的做法是只为虚拟机分配完成其工作所需的内存。分配额外的内存会增加累积的风险。另一方面,当虚拟机的操作系统使用未使用的内存作为磁盘缓存时,它会显着降低对磁盘系统的性能要求,因此这里存在一个权衡问题。

对于数据库服务器和VDI桌面,为虚拟机分配更多内存(在ESXi服务器上运行更少的虚拟机)通常比购买高性能磁盘阵列更具成本效益。关键是为虚拟机的工作负载分配足够的内存而不浪费它。

参考资料:

虚拟机


二、虚拟机主要是什么原理?

虚拟机是指通过软件模拟系统硬件功能并运行在完全远程环境中的完整计算机系统。每个虚拟机都有独立的CMOS、硬盘和操作系统,虚拟机可以像物理机一样工作。