Linux - Virtualization and CloudThis forum is for the discussion of all topics relating to Linux Virtualization and Linux Cloud platforms. Xen, KVM, OpenVZ, VirtualBox, VMware, Linux-VServer and all other Linux Virtualization platforms are welcome. OpenStack, CloudStack, ownCloud, Cloud Foundry, Eucalyptus, Nimbus, OpenNebula and all other Linux Cloud platforms are welcome. Note that questions relating solely to non-Linux OS's should be asked in the General forum.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
hi,
the kvm hypervisor scheduler among other things check to see if there is a free cpu to run a process.When a process (VM) need cpu to run this(process) will talk to hypervisor.right?
tnx
hi,
the kvm hypervisor scheduler among other things check to see if there is a free cpu to run a process.When a process (VM) need cpu to run this(process) will talk to hypervisor.right?
tnx
There is no such thing as a "free CPU", except if you mean an idle CPU. When you use KVM your VM runs as a normal process. Consequently, the kernel (not KVM) schedules it to CPU(s), and it competes for CPU time like all other processes on the hypervisor host.
You can pin a VM onto certain CPUs, so that they will only be scheduled on those CPUs. This is useful if the hypervisor host has a NUMA architecture, where access to memory on a "remote" CPU is more costly than memory on the "local" CPU.
hi,
the kernel schedule the idle cpu to a process(VM) but the kernel must talk to the hypervisor to see what cpu is in idle.right?
in order to monitor or capacity planning i consider everything at process level (include VM) and i perform monitor or capacity planing like in a linux system without hypervisor.Then i can take in consideration the VM level where i log in VM and check there the resource consumption.right?
With the observation that i can move on other servers(physical) processes(VM).
tnx
hi,
the kernel schedule the idle cpu to a process(VM) but the kernel must talk to the hypervisor to see what cpu is in idle.right?
There are processes, CPUs and a kernel on the hypervisor host, and there are processes, CPUs and a kernel on the virtual machine. I don’t understand which you mean, but the kernel on the hypervisor host doesn’t manage the virtual CPUs of the virtual machine.
There are several types of hypervisors, too. Traditionally, type 1 and 2. Type 1 is a hypervisor that “owns” the entire physical hypervisor host without competition from other processes. Examples: ESXi and Xen. Type 2 hypervisors run as normal processes on top of a kernel, competing with other processes for system resources, such as Qemu. KVM is in-between the two, competing with processes but also running on the bare metal via a kernel module. I don’t know which you have in mind.
Quote:
in order to monitor or capacity planning i consider everything at process level (include VM) and i perform monitor or capacity planing like in a linux system without hypervisor.Then i can take in consideration the VM level where i log in VM and check there the resource consumption.right?
You want to plan the capacity of the hypervisor host and monitor its resource usage? You need an idea of the resource consumption of your application, i.e. the VMs you are running, and multiply that with the desired number of VMs. Then you monitor the load on the hypervisor, and you gauge throughput, responsiveness etc. of the applications on the VMs.
Quote:
With the observation that i can move on other servers(physical) processes(VM).
You mean you will move VMs to other hosts? That’s certainly a strategy when you observe a high load.
hi,
i talk about processes in physical server only.so if i have an hypervisor on this physical server the hypervisor itself has direct contact with the hardware.in this context is.
"the kernel(in physical server) schedule the idle cpu (physical core) to a process(that represent a VM)-in physical server- but the kernel must talk to the hypervisor to see what cpu is in idle.right?"
When there is a slow response time i start to monitor things at physical server level.Next base on what i see i monitor things inside a certain VM.right?
tnx
no
If you have a "slow response time" issue you need to check that, but not how the hypervisor works. That is completely irrelevant.
There can be two cases: 1. the VM has no enough resources, so you need to assign more ram/cpu whatever is missing. 2. it is not related to these kind of resources, so you need to find the reason inside the VM. But probably it is network related (or something else).
the kernel must talk to the hypervisor to see what cpu is in idle.right?
Not right.
In case of a type 1 hypervisor, the hypervisor is the kernel.
Type 2 hypervisors run as processes on top of a kernel. In this case, the kernel has full control over all physical resources including the CPU. It doesn’t have to ask the hypervisor which CPU is idle.
Quote:
When there is a slow response time i start to monitor things at physical server level.Next base on what i see i monitor things inside a certain VM.right?
tnx
I would start measuring application-specific metrics, then system metrics inside the VM(s), then check the load on the physical server. However, it depends on the application. E.g. if it’s a LAMP web site, first check if response time is impacted by the DB, the app servers, the web servers, the load balancer. When you know that, drill down at that point.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.