深入解析虚拟机运行原理与资源优化
虚拟机是怎样运行的,原理是什么?
虚拟机操作:
是通过软件模拟出一个完整的具有完整硬件系统功能的计算机系统,运行在完全隔离的环境中。
原理:
最初编写的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语言完全兼容PC。
它在内存缩减方面取得了突破和创新,直接工作在各种电子产品中,被网络上的任何设备识别,充分利用网络资源。
为PC时代的发展创造了强有力的条件。
随着IT行业的发展,很多企业的计算机应用也在转型。
企业中使用的计算机模型逐渐向更小的客户端、更大的服务器和更大的数据库方向发展。
相应增加的方向。
此外,结合Java语言的独特特性及其对于在各种服务器上开发应用程序的好处,J2SE企业版为企业环境中的桌面计算提供了良好的解决方案。
平台。
Java语言发展了Javaservlet和SQL-J技术,以及与数据库紧密通信的JSP技术。
随着JSP技术的发展,JAVA语言的网络应用变得更加实用、高效、快捷,成为IT行业广泛应用的技术。
JSP使用Java作为服务器端语言,并结合JAVASCRIPT和其他客户端语言,使其更容易在网络浏览器中显示。
在在线远程学习方面,JAVA改变了基于MicrosoftFrontPage或HTML语言的传统网页形式,使在线远程学习更加动态、方便、安全,丰富了在线学习的工具和范围。
远程学习。
Java的贡献和影响
Java语言是一种随着时间的推移而快速发展的计算机语言程序。
它以其简洁严谨的结构和简洁性,深刻地展示了编程的本质。
编写语法为其未来的开发和支持提供了保证。
由于它提供了对Web应用程序和多媒体访问的支持,因此它将促进Internet和企业网络上的Web应用程序。
此外,为了支持Java的发展并鼓励Java社区的参与,Sun在JavaOne开发者大会,它将开源Java以鼓励更多人参与。
在Java社区的活动中。
在Java社区和IBM等全球技术合作伙伴的支持下,Java技术继续在创新和社会进步中发挥强大而重要的作用,并且随着编程复杂性的下降,更多的专业人士专注于编写爪哇。
语言和结构设计。