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

虚拟机怎么执行java


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

虚拟机操作:

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

原理:

如何一步步执行最初编写的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主机上运行更少的虚拟机)通常更具成本效益。为虚拟机的工作负载分配足够的内存而不浪费内存非常重要。

参考文献:

-虚拟机