虚拟机运行:
是指通过软件模拟并在完全隔离的环境中运行的具有完整硬件系统功能的完整计算机系统。
原理:
下图展示了第一个创建的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服务器上的虚拟机往往比购买高性能磁盘阵列更容易。少机器数量更容易成本有效。关键是为虚拟机工作负载分配足够的内存而不浪费它。
参考资料:
-虚拟机
上一篇:java虚拟机如何执行的
下一篇:java虚拟机如何运行java