跳到导航
BEA Dev2Dev Oracle and BEA
首页 资源中心 dev2dev学堂 在线技术论坛 User Group CodeShare
dev2dev 首页 > 资源中心 > 专家Blog > 专家Blog文章
JRockit、JVM、管理程序和虚拟化

时间:2006-06-07
作者:Jon Mountjoy
浏览次数:
本文关键字:JRockitJVMhypervisorvirtualization管理程序虚拟化
文章工具
推荐给朋友 推荐给朋友
打印文章 打印文章

  在JavaOne大会上,我参加了一个有趣的演讲,"Bare Metal"——Speeding Up Java Technology in a Virtualized Environment(“Bare Metal”——在虚拟化环境中加速Java技术),演讲者是Joakim Dahlstedt。Joakim是BEA Java Runtime Products Group的CTO。简而言之,他提出了使用虚拟化作为运行Java虚拟机的方式。这样,就可以在一个4路机器上运行8个JRockit JVM(对于正在运行的应用程序来说是透明的)。此外,他们是在虚拟化硬件上运行的,避开了操作系统。

  那么他们是如何做到的呢?他们使用了管理程序(hypervisor)。管理程序允许将一个物理机器分为多个虚拟机器。通常可以使用此特性在操作系统的多个实例上运行多个应用程序,它们全都相互独立,但是使用的却是同一个芯片(上的不同分区)。

  不过,他们在Bare Metal演讲中提出的是,只在一个(而不是多个)操作系统分区上运行。然后,当使用操作系统并创建一个新的JVM时,就会创建一个JRockit实例,作为一个直接运行在管理程序层而不是操作系统上的分区。可以创建多个此类实例,它们都直接运行在管理程序上,避开了操作系统。问题是:如何进行文件输入/输出?

  下面就是解决的办法。他们在管理程序之上创建了一个非常薄的层(就是他们称之为Bare Metal的),它允许他们实现JVM服务。例如,文件输入/输出可使用操作系统虚拟化系统或Java JVM本地磁盘进行。Bare Metal容器有一个小型TCP/IP堆栈,包含有Java所使用的协议(TCP/UDP等)。所以就完全避免了用于网络输入/输出的操作系统代理。真奇妙!

  那么这可以为我们带来什么好处呢?由于每个JVM实例都避开了操作系统,所以这些实例就具有更高的性能、良好的资源控制、轻量级且高效的线程,以及改进的垃圾收集,通过对该层的更多控制,可以获取更多的可预测性。每个JVM也有其自己的特性——它们是虚拟的系统,而不是同级的进程。这也带来了其他一些好处——好的隔离性、完整的状态快照保存、暂停和恢复等。

  当然了,如果您需要图形化的显示,那么您不会想要此类东西。Bare metal是一个服务器环境,没有屏幕,没有图形化用户界面,没有声音……

  技术标签:dev2devj2eejavajavaonejavaone 2006jrockitjvm虚拟化

原文出处:http://dev2dev.bea.com/blog/jonmountjoy/archive/2006/05/jrockit_jvms_hy.html

dot dot dot

dot
  作者其它文章
您对本文的评价
您对这篇文章的看法如何?
太棒了!5分 不错啊 4分 一般般 3分 有待提高 2分 不好 1分