ImVirt

NAME

ImVirt − detects several virtualizations

SYNOPSIS

use ImVirt;
print imv_get(IMV_PROB_DEFAULT, imv_detect()),"\n";

DESCRIPTION

The "ImVirt" package tries to detect if it is run in a virtualization container. At least the following container should be detected:
ARAnyM

KVM

lguest

LXC

OpenVZ
QEMU

UML

VirtualBox
Virtual PC/Server
VMware

Xen

DETECTION HEURISTIC

The detection is based on a heuristic − you should not trust the result at all.

ImVirt probes for different well-known characteristics of different virtualization containers. Any characteristics found or not found are weighted by their significance.

The result of the heuristic is a weighted tree. The leaves are the (not) detected containers.

FUNCTIONS

The following functions should be used to retrieve the detected virtualization containers:
imv_get($prob) Returns exactly one string describing the detected
container. If the detected container has a smaller match probability
than $prob the string ’Unknown’ is returned.
imv_get_all()
Returns a hash any positive detected containers as keys
and their corresponding match probability as value.
imv_get_pos_results()
Returns a list of all possible results which
might be returned by all detection modules. The list entries might be
appended by some additional data like version numbers etc.