虚拟机主要是什么原理?
要了解虚拟机的原理,要从多个角度去思考。
虚拟机运行:
是指在完全隔离的环境中运行、具有完整硬件系统功能的软件模拟的完整计算机系统。
原理:
最初创建的Java源文件(.Java文件)中。Java文件首先通过前端编译器(javac或ECJ)编译为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服务器上运行更少的虚拟机更经济高效。关键是在虚拟机的负载中分配足够的内存,没有浪费。
Copyright © 广州京杭网络科技有限公司 2005-2024 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有