我需要检测我的应用程序是否在虚拟化OS实例中运行.
我发现了一篇文章,其中包含有关该主题的一些有用信息.同一篇文章出现在多个地方,我不确定原始来源.VMware实现了一个特定的无效x86指令来返回有关自身的信息,而VirtualPC使用幻数和带有IN指令的I/O端口.
这是可行的,但在两种情况下似乎都是无证件行为.我想VMWare或VirtualPC的未来版本可能会改变机制.有没有更好的办法?这两种产品都有支持的机制吗?
同样,有没有办法检测Xen或VirtualBox?
我并不担心平台故意试图隐藏自己的情况.例如,蜜罐使用虚拟化,但有时会掩盖恶意软件用来检测它的机制.我并不在乎我的应用程序会认为它在这些蜜罐中没有虚拟化,我只是在寻找"尽力而为"的解决方案.
该应用程序主要是Java,但我希望在这个特定的功能中使用本机代码和JNI.Windows XP/Vista支持是最重要的,尽管参考文章中描述的机制是x86的通用功能,并且不依赖于任何特定的OS工具.
我知道Xen使用QEMU,而KVM是QEMU的分支.
那么,KVM包括Xen增加到QEMU?是什么名字 ?
谢谢
最近,我发现有QEMU项目.我之前使用过VirtualBox,而且我了解Xen和VMWare.
QEMU和VirtualBox有什么区别?我应该坚持使用VirtualBox吗?
在哪些情况下QEMU更好?
任何人都知道任何直接允许CUDA/OpenCL访问或实现CUDA/OpenCL抽象的虚拟化解决方案.
更新:谢谢那些评论的人.虽然经典的"桌面"虚拟化会很不错,但我怀疑Xen之类的东西会更接近标记.
我们可以使用AWS :: CloudFormation :: Init在启动实例后执行命令并上传文件.但是有人知道这次行动的内部是什么(来自亚马逊方面)?
当我们传入模板时,文件或命令在什么时候传输到VM?这是Xen功能(通过特殊管道),还是通过网络?
"Resources": {
"MyInstance": {
"Type": "AWS::EC2::Instance",
"Metadata" : {
"AWS::CloudFormation::Init" : {
"config" : {
"packages" : {
:
},
"sources" : {
:
},
"commands" : {
:
},
"files" : {
:
},
"services" : {
:
},
"users" : {
:
},
"groups" : {
:
}
}
}
},
"Properties": {
:
}
}
}
Run Code Online (Sandbox Code Playgroud) 我最近部署了一个带有docker的小型Haskell应用程序,使用"scratch-haskell"作为基本映像.
然后我读到了关于Unikernels和HALVM的内容.我有点困惑.
我的码头工人容器大约6MB.Unikernel(使用相同的haskell应用程序)大小与我猜的大致相同.
Unikernel直接在Xen管理程序上运行,而docker Image(或通用LXC)在普通的Linux发行版上运行,该发行版在裸机上运行.
现在,我有"选择"运行具有多个最小容器的Linux或具有多个小Unikernel的Xen机器.
但这两种解决方案的优点和缺点是什么?一个比另一个更安全吗?它们之间是否存在显着的性能差异?
我知道BEA正在研究LiquidVM,它不需要底层操作系统,但想知道开源社区中是否有人正在开发类似的东西.
理想情况下,我想找到一个实现,其中VM由OS引导加载程序直接加载.
是否有一个操作系统命令,我可以在基于Xen的虚拟机中运行,告诉我它是一个虚拟盒而不是一个物理盒 - 我听说内核有一些自我意识的智能.例如像"ps"输出中的额外列或什么?[我知道vmstat提供了"st"列,但我在运行Linux Kernel 2.6.11及更高版本的物理主机盒上看到了这一点].
非常感谢,
保罗
在硬件辅助虚拟化出现之前,存在由于各种原因而无法虚拟化的指令.有人可以解释这些说明是什么以及为什么它们不能被虚拟化?
我正在尝试对XenServer与ESX进行公平的比较,我想做的一个比较是多个虚拟机的性能.有谁知道如何以公平的方式对VM性能进行基准测试?
在每台服务器上,我想运行固定数量的XP/Vista虚拟机(例如8)并测量每个虚拟机在负载下运行的速度.理想情况下,我想要整个系统(CPU /内存/磁盘/网络)的一些基准,而不仅仅是一个方面.
在我看来,这实际上是一个非常棘手的事情,并获得任何有意义的结果,所以将不胜感激任何建议!
我也有兴趣看到已发布的任何现有报告或比较(最好是独立而非供应商偏见!)
xen ×10
vmware ×3
qemu ×2
virtualbox ×2
benchmarking ×1
cuda ×1
docker ×1
halvm ×1
hypervisor ×1
intel ×1
java ×1
jvm ×1
kvm ×1
linux ×1
opencl ×1
performance ×1
unikernel ×1
unix ×1
virtual-pc ×1
x86 ×1