#!/usr/bin/python
# check if a linux system running on a virtual machine (openvz/xen pv/uml)
# written by http://www.vpsee.com
import sys, os
def main():
ifos.getuid() != 0:
print"must be run as root"
sys.exit(0)
# check OpenVZ/Virtuozzo
ifos.path.exists("/proc/vz"):
ifnotos.path.exists("/proc/bc"):
print"openvz container"else:
print"openvz node"
# check Xen
ifos.path.exists("/proc/xen/capabilities"):
if (os.path.getsize("/proc/xen/capabilities") > 0):
print"xen dom0"else:
print"xen domU"
# check User Mode Linux (UML)
f = open("/proc/cpuinfo", "r"); t = f.read(); f.close()
if (t.find("UML") > 0):
print"uml"if __name__=="__main__":
main()
周末看了一篇 Virtualization of Linux servers,这篇论文测试了当前几个主要开源虚拟产品的性能,刚好配合前段时间看的几种不同虚拟技术的隔离性能。虚拟机的性能和隔离性都是虚拟技术非常重要的性能指标,大面积测试和比较不同的产品需要消耗大量的时间和精力,这篇文章在前人的基础上较全面测试了 Linux 下不同虚拟产品的性能,涉及到的有 KQEMU、KVM、Linux-VServer、OpenVZ、VirtualBox、Xen.
测试方法
整个测试在一台 IBM/Lenovo Desktop PC 上进行,这台 PC 配有 Intel Core 2 Duo 6300 处理器,4GB 内存和 80GB SATA 硬盘。服务器(host)操作系统是 Ubuntu 7.10,内核是 2.6.22-14,虚拟机(guest)操作系统是 Ubuntu 6.10. 网络部分的测试则通过另外一台 PC 来进行。使用的测试软件和参数如下:
Kernel Build $ make defconfig $ date +%s.%N && make && date +%s.%N $ make clean
Netperf $ netserver # server side $ netperf -H # client side
Rsync Experiment 1: $ date +%s.%N && rsync -av ::kernel /var/tmp && date +%s.%N # client side # where ’kernel’ is the linux-2.6.22.14 file tree (294M) $ rm -fr /var/tmp/* Experiment 2: $ date +%s.%N && rsync -av ::iso /var/tmp && date +%s.%N # client side # where ’iso’ is ubuntu-6.06.1-server-i386.iso (433M) $ rm -fr /var/tmp/*
所有评论(0)