虚拟机的运行:
是指通过软件模拟出一个具有完整硬件功能、在完全隔离的环境中运行的完整计算机系统。
原理:
原来写好的Java源文件(.java文件)是如何一步步执行的,如下,从Java源码开始文件通过前端编译器(javac或ECJ)将.java文件编译为Java字节码文件。
然后JRE将Java字节码文件加载到系统分配给JVM的内存区域中,然后运行时解释或编译类文件,然后即时编译器将字节码转换为机器码。
详细信息:
虚拟机资源涉及很多方面:CPU、内存、网络和磁盘。规划虚拟机时必须考虑这些资源之间的关系,否则资源分配不合理会导致虚拟机内应用程序性能不佳。
CPU:
虚拟机中的每个vCPU仅在单个物理核心上运行。因此,CPU频率越高,虚拟机的速度就越快。被执行。更多的vCPU有助于提高应用程序性能。
一个更复杂的因素是,在ESXi服务器上,所有虚拟机共享物理CPU使用率。ESXi服务器的核心越多,每个vCPU的核心份额就越大。因此,多核的性能优于核心频率高但数量少的情况。
如果虚拟机将占用大量CPU时间,您可以考虑为虚拟机分配第二个vCPU。然而,为虚拟机分配两个以上的vCPU并不一定能让应用程序成为现实。运行速度更快,因为只有多线程应用程序才能有效地使用多个虚拟CPU。
RAM:
ESXi服务器内的RAM资源通常是有限的,因此在为虚拟机分配RAM时必须非常小心。VMkernel在RAM管理方面非常智能;它允许虚拟机使用ESXi服务器的所有物理内存,并尽量避免占用物理内存而不实际使用它。
一旦物理内存完全耗尽,VMkernel必须确定哪些虚拟机可以保留物理内存以及哪些虚拟机应该释放物理内存。这称为“内存回收”。当虚拟机占用的物理内存被回收时,存在影响虚拟机性能的风险。虚拟机回收的内存越多,相应的风险就越大。
为虚拟机分配完成其工作所需的内存是更明智的做法。分配额外的内存会增加收集的风险。另一方面,当虚拟机的操作系统使用未使用的内存作为磁盘缓存时,这会显着降低对磁盘系统的性能要求,因此这里存在一个权衡问题。
对于数据库服务器和VDI桌面,为虚拟机分配更多内存(在ESXi服务器上运行更少的虚拟机)通常比购买高性能磁盘阵列更划算。关键是为虚拟机的工作负载分配足够的内存而不浪费它。
参考资料:
-虚拟机
上一篇:虚拟机编译运行程序
下一篇:win11自带虚拟机在哪打开