有没有办法知道你所谓的完全专用的服务器是否真的是一台虚拟资源共享的机器?

有没有办法知道你所谓的完全专用的服务器是否真的是一台虚拟资源共享的机器?

有时我觉得我的服务器响应不如我预期的那样顺畅(我有一个 Intel(R) Xeon(TM) CPU 2.80GHz 四核),例如,“top”命令报告低负载 < 0.5,CPU 几乎完全空闲...

我可能遇到了互联网连接问题,所以我真的不知道是我的问题还是服务器本身的问题。

是否有任何类型的基准测试脚本(或类似的东西)可以运行并查看服务器的实际性能?

答案1

该脚本将识别多种不同类型的虚拟机管理程序和容器技术。它已针对大多数主流 Linux 发行版(例如或)virt-what进行了预打包,其输出适合在 shell 脚本中使用。它可从虚拟客户机内部正确执行检测。apt-get install virt-whatyum install virt-what

当前检测到的虚拟化类型:

  • hyperv 微软 Hyper-V
  • kvm Linux 内核虚拟机 (KVM)
  • lxc Linux 容器
  • openvz OpenVZ 或 Virtuozzo
  • powervm_lx86 IBM PowerVM Lx86 Linux/x86 模拟器
  • qemu QEMU(未加速)
  • uml 用户模式 ​​Linux (UML)
  • virtage 日立虚拟化管理器 (HVM) Virtage LPAR
  • virtualbox 虚拟盒
  • virtualpc 微软VirtualPC
  • VMware 虚拟化
  • xen-dom0 Xen dom0(特权域)
  • xen-domU Xen domU(半虚拟化来宾域)
  • xen-hvm Xen 客户机完全虚拟化 (HVM)

Puppet 工具内部facter使用virt-what它来确定正在使用的虚拟化类型,因此如果您使用 Puppet,则说明您已经安装了它。

答案2

在 Linux 上,可以查找告密虚拟化迹象取决于所使用的虚拟机管理程序类型。通常可以从查看/proc/cpuinfoCPU 类型开始。一些虚拟机管理程序会报告伪造的CPU 类型,例如“QEMU 虚拟 CPU”。如果运行的是 VZ,您可以找到/proc/user_beancounters报告资源使用情况的内容。使用 Xen,您将找到一个/proc/xen目录。

因此,可以猜测您是否在某种虚拟化环境下运行。

答案3

如果你可以运行 perl 脚本(取决于你的操作系统),那么有一个名为imvirt它可以根据各种系统信息(/proc/cpuinfodmidecode等)检测到相当多的东西——听起来你使用的是 ubuntu,所以有 Jaunty、Karmic 和 Lucid 的软件包,或者你可以从Sourceforge

答案4

寻找窃取 CPU 周期例如,您可以在 top 中看到这一点。“如果您的虚拟机在 top(窃取时间)中显示较高的 %st,则意味着 CPU 周期被从虚拟机中拿走用于其他目的。”

相关内容