CN106990998B - 虚拟机监控方法及装置 - Google Patents
虚拟机监控方法及装置 Download PDFInfo
- Publication number
- CN106990998B CN106990998B CN201610041962.0A CN201610041962A CN106990998B CN 106990998 B CN106990998 B CN 106990998B CN 201610041962 A CN201610041962 A CN 201610041962A CN 106990998 B CN106990998 B CN 106990998B
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- identifier
- thread
- virtual
- processor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种虚拟机监控方法及装置,所述方法包括:查询创建每一个虚拟机时的虚拟机标识以及所述虚拟机中每一虚拟处理器对应线程的线程标识,并确定所述虚拟机标识与所述线程标识的关联关系;每间隔预设时间,读取每一个虚拟处理器的记录信息,所述记录信息包括线程标识以及所述线程标识对应的丢失时间;所述丢失时间为每一个虚拟处理器对应线程运行时记录的丢失时间;根据相邻两次获得的丢失时间,计算每一个虚拟处理器的丢失时间率;根据每一个虚拟机的虚拟机标识关联的线程标识,确定每一个虚拟机对应的每一个虚拟处理器的丢失时间率;所述丢失时间率用于表示虚拟处理器的资源争抢程度。本申请实施例提高了资源争抢程度确定的准确性。
Description
技术领域
本申请属于计算机技术领域,具体地说,涉及一种虚拟机监控方法及装置。
背景技术
虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的完整计算机系统,虚拟机运行在物理机上。通常一台物理机可以运行多台虚拟机,每一台虚拟机可能包括多个虚拟处理器(VCPU),虚拟机运行在系统内核的一个进程中,VCPU运行在进程中的一个线程中。
由于一台物理机可以运行多台虚拟机,因此所有虚拟机的VCPU总数通常会超过物理机中的处理器(CPU)总数。因此多台虚拟机存在CPU资源的资源争抢情况,如果争抢程度严重,有的虚拟机的VCPU可能就无法获得CPU资源,导致虚拟机性能下降。
因此需要对CPU资源的资源争抢程度进行衡量,以便于及时作出处理措施,比如将长时间得不到CPU资源的虚拟机迁移到其他物理机中,以保证虚拟机性能。
现有技术中,是通过CPU的负载来表示VCPU的资源争抢程度,但是CPU负载并不能准确表示资源争抢程度,只能粗略衡量,CPU负载高并不意味着VCPU争抢厉害,比如4核物理机上运行两台虚拟机,每台虚拟机有4个VCPU,第一台虚拟机的每个VCPU的CPU利用率为40%,如果第二台虚似机的每个VCPU的CPU利用率也为40%,这样平均每个CPU的利用率为80%,即不会出现争抢;而如果第二台虚拟机中一个VCPU线程的CPU利用率为90%,其他三个VCPU线程的cpu利用率为10%,这样CPU的平均利用率只有70%,但是需要90%cpu利用率的VCPU无论跑到哪个CPU上都会发生争抢。
发明内容
有鉴于此,本申请所要解决的技术问题是提供了一种虚拟机监控方法及装置,提高了资源争抢程度确定的准确性。
为了解决上述技术问题,本申请公开了一种虚拟机监控方法,包括:
查询创建每一个虚拟机时的虚拟机标识以及所述虚拟机中每一个虚拟处理器对应线程的线程标识,并确定所述虚拟机标识与所述线程标识的关联关系;
每间隔预设时间,读取每一个虚拟处理器的记录信息,所述记录信息包括线程标识以及所述线程标识对应的丢失时间;所述线程标识为在进行虚拟机创建时存储的;所述丢失时间为每一个线程运行时的丢失时间,与所述线程标识对应存储;
根据相邻两次获得的丢失时间,计算每一个虚拟处理器的丢失时间率;
根据每一个虚拟机的虚拟机标识关联的线程标识,确定每一个虚拟机对应的每一个虚拟处理器的丢失时间率;所述丢失时间率用于表示虚拟处理器的资源争抢程度。
优选地,所述根据所述每一个虚拟机的虚拟机标识关联的线程标识,确定每一个虚拟机对应的每一个虚拟处理器的丢失时间率之后,所述方法还包括:
建立虚拟机标识、线程标识以及丢失时间率的对应关系,并将所述虚拟机标识、线程标识以及丢失时间率对应输出或者提供给处理设备,以便于查看每一个虚拟机中每一个虚拟处理器的丢失时间率。
优选地,所述虚拟机为KVM虚拟机,所述记录信息存储在数据结构中,所述数据结构为用于描述虚拟处理器的数据结构,每一个虚拟处理器的记录信息存储在所述数据结构的新增成员中;
所述每间隔预设时间,从数据结构中读取每一个虚拟处理器的记录信息包括:
每间隔预设时间,通过proc文件系统预先创建的新增访问接口,读取所述数据结构预先创建的新增成员中存储的每一个虚拟处理器的记录信息。
优选地,所述查询创建每一个虚拟机时的虚拟机标识以及所述虚拟机标识对应的每一个虚拟处理器的线程标识,确定所述虚拟机标识与所述线程标识的关联关系包括:
通过虚拟化管理软件查询每一个虚拟机的虚拟机标识以及所述虚拟机对应进程的进程标识、所述虚拟机中每一个虚拟处理器对应线程的线程标识,并确定所述虚拟机标识、所述进程标识以及所述线程标识的关联关系;
所述记录信息还包括进程标识,所述进程标识为在进行虚拟机创建时对应线程标识存储的;
所述根据每一个虚拟机的虚拟机标识关联的线程标识,确定每一个虚拟机对应的每一个虚拟处理器的丢失时间率包括:
根据每一个虚拟机的虚拟机标识关联的进程标识以及线程标识,确定每一个虚拟机对应的进程,以及所述进程中每一个虚拟处理器的丢失时间率。
一种虚拟机监控方法,包括:
在进行虚拟机创建时,获取每一个虚拟机的每一个虚拟处理器对应线程的线程标识;
将每一个虚拟处理器对应线程的线程标识进行存储;
记录每一个虚拟处理器对应线程的丢失时间,并与所述线程的线程标识对应存储,作为每一个虚拟处理器的记录信息,以便于用户程序查询创建每一个虚拟机时的虚拟机标识以及所述虚拟机中每一个虚拟机处理器对应线程的线程标识,并确定所述虚拟机标识与所述线程标识的关联关系之后,每间隔预设时间,读取所述每一个虚拟处理器的记录信息,并根据相邻两次获得的丢失时间,计算每一个虚拟处理器的丢失时间率,根据每一个虚拟机的虚拟机标识关联的线程标识,确定每一个虚拟机对应的每一个虚拟处理器的丢失时间率;所述丢失时间率用于表示虚拟处理器的资源争抢程度。
一种虚拟机监控装置,包括:
查询模块,用于查询创建每一个虚拟机时的虚拟机标识以及所述虚拟机中每一个虚拟处理器对应线程的线程标识,并确定所述虚拟机标识与所述线程标识的关联关系;
读取模块,用于每间隔预设时间,读取每一个虚拟处理器的记录信息,所述记录信息包括线程标识以及所述线程标识对应的丢失时间;所述线程标识为在进行虚拟机创建时存储的;所述丢失时间为每一个线程运行时的丢失时间,并与所述线程标识对应存储;
计算模块,用于根据相邻两次获得的丢失时间,计算每一个虚拟处理器的丢失时间率;
确定模块,用于根据所述每一个虚拟机的虚拟机标识关联的线程标识,确定每一个虚拟机对应的每一个虚拟处理器的丢失时间率;所述丢失时间率用于表示虚拟处理器的资源争抢程度。
优选地,还包括:
输出模块,用于建立虚拟机标识、线程标识以及丢失时间率的对应关系,并将所述立虚拟机标识、线程标识以及丢失时间率对应输出或者提供给处理设备,以便于查看每一个虚拟机中每一个虚拟处理器的丢失时间率。
优选地,所述虚拟机为KVM虚拟机,所述记录信息存储在数据结构中,所述数据结构为用于描述虚拟处理器的数据结构,每一个虚拟处理器的记录信息存储在所述数据结构的新增成员中;
所述读取模块具体用于:
每间隔预设时间,通过proc文件系统预先创建的新增访问接口,读取所述数据结构预先创建的新增成员中存储的每一个虚拟处理器的记录信息。
优选地,所述查询模块具体用于:
通过虚拟化管理软件查询每一个虚拟机的虚拟机标识以及所述虚拟机对应进程的进程标识、所述虚拟机中每一个虚拟处理器对应线程的线程标识,确定所述虚拟机标识、所述进程标识以及所述线程标识的关联关系;
所述记录信息还包括进程标识,所述进程标识为在进行虚拟机创建时对应线程标识存储的;
所述确定模块具体用于包括:
所述根据每一个虚拟机的虚拟机标识关联的进程标识以及线程标识,确定每一个虚拟机对应的进程,以及所述进程中每一个虚拟处理器的丢失时间率。
一种虚拟机监控装置,包括:
获取模块,用于在进行虚拟机创建时,获取每一个虚拟机中每一个虚拟处理器对应线程的线程标识;
第一存储模块,用于将每一个虚拟处理器对应线程的线程标识进行存储;
第二存储模块,用于记录每一个虚拟处理器对应线程的丢失时间,并与所述线程的线程标识对应存储,作为每一个虚拟处理器的记录信息,以便于用户程序查询创建每一个虚拟机时的虚拟机标识以及所述虚拟机中每一个虚拟处理器对应线程的线程标识,并确定所述虚拟机标识与所述线程标识的关联关系之后,每间隔预设时间,读取所述每一个虚拟处理器的记录信息,并根据相邻两次获得的丢失时间,计算每一个虚拟处理器的丢失时间率,根据每一个虚拟机的虚拟机标识关联的线程标识,确定每一个虚拟机对应的每一个虚拟处理器的丢失时间率;所述丢失时间率用于表示虚拟处理器的资源争抢程度。
与现有技术相比,本申请可以获得包括以下技术效果:
在进行虚拟机创建时,可以创建每一个虚拟机的虚拟机标识以及每一个虚拟机中每一个虚拟处理器对应线程的线程标识;将创建的每一个虚拟处理器对应线程的线程标识进行存储,并记录每一个虚拟处理器对应线程的丢失时间,与线程标识对应存储,作为每一个虚拟处理器的记录信息;从而通过查询创建每一个虚拟机时的虚拟机标识以及所述虚拟机中每一个虚拟处理器对应线程的线程标识,可以建立虚拟机标识与线程标识的关联关系,并每间隔预设时间,从读取获得每一个虚拟处理器的记录信息;根据相邻两次获得的丢失时间,即可以计算每一个虚拟处理器的丢失时间率;根据每一个虚拟机的虚拟机标识关联的线程标识,即可以确定出每一个虚拟机对应的每一个虚拟处理器的丢失时间率;所述丢失时间率用于表示虚拟处理器的资源争抢程度;通过丢失时间率可以准确表示资源争抢程度,提高了资源争抢程度确定的准确性,从而根据丢失时间率可以准确及时作出处理措施,以提高虚拟机性能。
当然,实施本申请的任一产品必不一定需要同时达到以上所述的所有技术效果。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是本申请实施例的一种虚拟机监控方法一个实施例的流程图;
图2是本申请实施例的一种虚拟机监控方法又一个实施例的流程图;
图3是本申请实施例的一种虚拟机监控装置一个实施例的结构示意图;
图4是本申请实施例的一种虚拟机监控装置又一个实施例的结构示意图。
具体实施方式
以下将配合附图及实施例来详细说明本申请的实施方式,藉此对本申请如何应用技术手段来解决技术问题并达成技术功效的实现过程能充分理解并据以实施。
本申请技术方案主要适用于虚拟机的应用场景中,通过对虚拟机监控,准确实现对虚拟机的虚拟处理器对资源争抢程度的监控。
在一个实际引用中,本申请所述的虚拟机可以是利用KVM(Kernel-based VirtualMachine,开源的系统虚拟化模块)技术创建的虚拟机,在KVM虚拟化中,QEMU(QuickEmulator,机器虚拟器)是运行在Host(主机)上的进程,是虚拟机的容器,虚拟机的每个VCPU(虚拟处理器)对应QEMU进程的一个线程,在进行KVM虚拟机创建时,是通过虚拟化管理软件,比如libvirt创建一系列的QEMU参数,利用QEMU参数启动QEMU进程,再在QEMU进程中创建VCPU线程,由VCPU线程创建VCPU,其中,虚拟化管理软件、QEMU均为操作系统内核中的程序组件。
由于现有技术中存在VCPU对CPU的资源争抢情况,而仅通过CPU负载只能粗略衡量资源争抢程度,因此,发明人经过一系列研究发现,可以利用丢失时间(steal time)率来表示VCPU的资源争抢程度,丢失时间即是指VCPU等待CPU资源的时间,此时CPU中通常在运行其它的VPCU。通过丢失时间率可以反映VCPU的资源争抢程度。
因此,在本申请实施例中,在进行虚拟机创建时,可以创建每一个虚拟机的虚拟机标识以及每一个虚拟机中每一个虚拟处理器对应线程的线程标识;将创建的每一个虚拟处理器对应线程的线程标识进行存储,并记录每一个虚拟处理器对应线程的丢失时间,与线程标识对应存储,作为每一个虚拟处理器的记录信息;从而用户程序查询创建每一个虚拟机时的虚拟机标识以及虚拟机标识对应的线程标识之后,可以每间隔预设时间,读取获得每一个虚拟处理器的记录信息,所述记录信息包括每一个虚拟处理器对应线程的线程标识以及丢失时间;根据相邻两次获得的丢失时间,即可以计算每一个虚拟处理器的丢失时间率;根据所述虚拟机标识对应的线程标识,可以将虚拟机标识、线程标识以及丢失时间率进行关联,从而即可以确定出每一个虚拟机对应的每一个虚拟处理器的丢失时间率;所述丢失时间率用于表示每一个虚拟机的每一个虚拟处理器的资源争抢程度;通过丢失时间率可以准确获得资源争抢程度,从而根据丢失时间率可以准确及时作出处理措施,以提高虚拟机性能。
下面将结合附图对本申请技术方案进行详细描述。
图1为本申请提供的一种虚拟机监控方法一个实施例的流程图,本实施例主要应用配置在主机中的用户程序中,通过用户程序可以方便用户获得监控结果,该方法可以包括以下几个步骤:
101:查询创建每一个虚拟机时的虚拟机标识以及所述虚拟机中每一个虚拟处理器对应线程的线程标识,并确定所述虚拟机标识与所述线程标识的关联关系。
虚拟机运行在操作系统内核的进程中,虚拟机的虚拟处理器运行在虚拟机进程创建的线程中。一台运行的虚拟机,在主机看来即是运行在内核中的一个进程。
在进行虚拟机创建时,为了方便区分,会为每一个虚拟机设置虚拟机标识,该虚拟机标识可以是指虚拟机名称等。
由于虚拟机的创建是通过虚拟化管理软件,例如libvirt实现,虚拟化管理软件主要用于提供创建虚拟机、查询虚拟机信息以及关闭虚拟机等功能,在创建虚拟机时会创建虚拟机的虚拟机标识,存储在虚拟化管理软件中,然后虚拟化管理软件启动虚拟机进程,由进程再创建虚拟处理器对应线程,从而即可以得到进程标识以及线程标识。
因此本步骤中,可以是通过虚拟化管理软件查询创建每一个虚拟机时的虚拟机标识以及所述虚拟机中每一个虚拟处理器对应线程的线程标识。
具体的,由于虚拟机名称存储在虚拟化管理软件中,进程标识以及线程标识需要从进程中获得,因此可以是从虚拟化管理软件中查询每一个虚拟机的虚拟机标识。在虚拟机管理软件中,虚拟机的虚拟机标识与虚拟机对应进程关联,因此可以通过虚拟化管理软件从虚拟机标识关联的进程中查询线程标识,即可以将虚拟机标识与线程标识进行关联。当然还可以通过虚拟化管理软件从进程中查询进程标识。
在虚拟化管理软件为libvirt等开源软件时,可以通过对libvirt等进行代码修改,增加查询接口,使得可以通过libvirt的查询接口从虚拟机标识关联的进程中查询进程标识以及线程标识。
在KVM虚拟化中,虚拟化管理软件可以为libvirt,虚拟机对应进程也即QEMU进程,因此也即是通过libvirt查询创建每一个虚拟机时的虚拟机标识以及所述虚拟机中每一个虚拟处理器对应线程的线程标识。
当然还可以查询每一个虚拟机对应进程的进程标识等信息。
通过查询的虚拟机标识、进程标识以及线程标识,可以确定所述虚拟机标识与所述线程标识的关联关系,当然还可以确定虚拟机标识与进程标识、线程标识的关联关系。
102:每间隔预设时间,读取每一个虚拟处理器的记录信息。
其中,记录信息可以存储在数据结构中。
其中,所述记录信息包括每一个虚拟处理器对应线程的线程标识以及所述线程标识对应的丢失时间;所述线程标识为在进行虚拟机创建时存储在所述数据结构中的;所述丢失时间为每一个线程运行时的丢失时间,并与线程标识对应存储在所述数据结构中。
在虚拟机创建时,内核程序可以将虚拟处理器对应的线程标识存储在数据结构中,以及将在每一个虚拟处理器对应线程运行时,为每一个虚拟处理器对应线程记录的丢失时间与线程标识对应存储,作为虚拟处理器的记录信息。
当然,还可以将线程标识对应的进程标识与线程标识对应存储在数据结构中,因此该记录信息中还可以包括进程标识。
该数据结构是内核程序描述虚拟处理器的数据结构,用于存储虚拟处理器的相关信息等。
为了能够将线程标识、进程标识等存储在数据结构,可以预先在数据结构中创建成员,作为新增成员存储线程标识、进程标识以及丢失时间等。
因此,用户程序即可以每间隔预设时间,从数据结构中读取获得每一个虚拟处理器的记录信息。
其中,该预设时间可以根据实际情况进行设定。
为了实现用户程序访问内核程序,可以通过proc文件系统访问内核中的数据结构,以读取每一个虚拟处理器的记录信息。
proc文件系统是一种伪文件系统,利用伪文件系统即可以实现和内核中的数据结构进行交互。
103:根据相邻两次获得的丢失时间,计算每一个虚拟处理器的丢失时间率。
丢失时间并无法准确表示虚拟处理器的等待情况,无法表示虚拟处理器的资源争抢程度。因此可以根据相邻两次获得的丢失时间,计算每一个虚拟处理器的丢失时间率。
丢失时间率也即丢失时间在所述预设时间内的变化率,可以将相邻两次获得丢失时间差值除以该预设时间即可以得到。
具体的,例如,当前获得丢失时间记为st,当前时间,记为t,间隔预设时间T之后,获得的丢失时间记为st’,时间记为t’,丢失时间率即为(st’-st)/(t’–t)。
104:根据每一个虚拟机的虚拟机标识关联的线程标识,确定每一个虚拟机对应的每一个虚拟处理器的丢失时间率。
还可以根据确定的每一个虚拟机中各个虚拟处理器的丢失时间率,将各个虚拟处理器的丢失时间率的累加和值,作为每一个虚拟机的丢失时间率。
所述丢失时间率用于表示虚拟处理器的资源争抢程度。丢失时间率小,表明资源争抢程度小,丢失时间率大,表明资源争抢程度大,资源争抢情况严重,需要作出处理措施。
由于读取的虚拟处理器的记录信息包括线程标识以及丢失时间。为了确定获得丢失变化时间率属于哪一个虚拟机。可以根据查询获得每一个虚拟机的虚拟机标识关联的线程标识,建立虚拟机标识、线程标识以及丢失时间率的关联关系,从而即可以获得每一个虚拟机对应的每一个虚拟处理器的丢失时间率。
该丢失时间率即可以准确表示每一个虚拟机的每一个虚拟处理器的资源争抢程度。
通过申请实施例,可以实时精确的监控每一个虚拟机的每一个虚拟处理器的资源争抢程度,且消耗资源非常小。
其中,作为又一个实施例,获得的每一个虚拟机对应的每一个虚拟处理器的丢失时间率还可以输出或者提供给处理设备,以方便用户根据丢失时间率作出处理措施等。
因此,根据所述每一个虚拟机的虚拟机标识关联的线程标识,确定每一个虚拟机对应的每一个虚拟处理器的丢失时间率之后,所述方法还可以包括:
建立虚拟机标识、线程标识以及丢失时间率的对应关系,并将所述虚拟机标识、线程标识以及丢失时间率对应输出或者提供给处理设备,以便于查看每一个虚拟机对应的每一个虚拟处理器的丢失时间率。
当然,还可以还可以将每一个虚拟机的CPU负载利用率、每一个虚拟机对应进程的进程标识、虚拟机标识、每一个虚拟机中每一个虚拟处理器的对应线程的线程标识以及丢失时间率对应输出。
该进程标识可以作为记录信息对应线程标识记录在数据结构中,以方便用户程序读取。
因此,所述查询创建每一个虚拟机时的虚拟机标识以及所述虚拟机中每一个虚拟处理器对应线程的线程标识,确定所述虚拟机标识与所述线程标识的关联关系可以是:
查询每一个虚拟机的虚拟机标识以及所述虚拟机对应进程的进程标识、所述虚拟机中每一个虚拟处理器对应线程的线程标识;具体的可以是通过虚拟化管理软件进行查询,确定所述虚拟机标识、所述进程标识以及所述线程标识的关联关系。
因此,所述记录信息中还包括虚拟处理器对应的虚拟机对应进程的进程标识;
所述根据每一个虚拟机的虚拟机标识关联的线程标识,确定每一个虚拟机对应的每一个虚拟处理器的丢失时间率可以是:
所述根据每一个虚拟机的虚拟机标识关联的进程标识以及线程标识,获得每一个虚拟机对应的进程,以及所述进程中每一个虚拟处理器的丢失时间率。
由于每个线程标识即对应一个虚拟处理器,因此还可以根据每一个线程标识设定虚拟处理器名称,以方便查看。
虚拟机标识、线程标识以及丢失时间率、CPU负载等可以以表格的形式进行传输或者输出,以方便用户查看,如下表1即示出了一种可能的输出形式:
表1
当然,作为又一个实施例,根据所述虚拟机标识以及所述线程标识,获得每一个虚拟机对应的每一个虚拟处理器的丢失时间率之后,所述方法还可以包括:
在每一个虚拟机对应的每一个虚拟处理器的丢失时间率大于预设值时,输出提示信息,用于提示用户资源争取程度严重,需要作出处理措施等。
图2为本申请提供的一种虚拟机监控方法又一个实施例的流程图,本实施例主要应用在配置在主机中的内核程序中,该方法可以包括以下几个步骤:
201:在进行虚拟机创建时,获取每一个虚拟机的每一个虚拟处理器对应线程的线程标识。
在进行虚拟机创建时,为了方便区分,虚拟化管理软件会为每一个虚拟机设置虚拟机标识,该虚拟机标识可以是指虚拟机名称等。
虚拟化管理软件启动一个进程,作为虚拟机容器,即可以获得进程标识,该进程创建虚拟处理器对应线程,即可以获得线程标识。
202:将每一个虚拟处理器对应线程的线程标识进行存储。
其中,线程标识可以存储在数据结构中。在虚拟机创建获得线程标识时,可以将每一个虚拟机的每一个虚拟处理器对应线程的线程标识存储在数据结构中。
当然还可以将线程标识对应的进程标识对应存储在数据结构中。
为了方便存储和读取,可以在数据结构中预先创建新增成员,具体是将将线程标识存储在数据结构的新增成员中。
203:记录每一个虚拟处理器对应线程的丢失时间,并与所述线程的线程标识对应存储,作为每一个虚拟处理器的记录信息。
内核程序还可以记录每一个虚拟处理器对应线程的丢失时间,可以将每一个虚拟处理器对应线程的丢失时间与线程标识对应存储在所述数据结构中。当然还可以将每一个线程对应的进程的进程标识存储在所述数据结构中。
具体的,可以是将进程标识、线程标识以及丢失时间对应存储在新增成员中,以便于从新增成员中读取虚拟处理器的记录信息。
从而用户程序可以查询创建每一个虚拟机时的虚拟机标识以及每一个虚拟机中每一个虚拟处理器对应线程的线程标识,确定所述虚拟机标识与所述线程标识的关联关系之后,并每间隔预设时间,读取所述每一个虚拟处理器的记录信息,并根据相邻两次获得的丢失时间,计算每一个虚拟处理器的丢失时间率,根据所述每一个虚拟机的虚拟机标识关联的所述线程标识,确定每一个虚拟机对应的每一个虚拟处理器的丢失时间率;所述丢失时间率用于表示虚拟处理器资源争抢程度。
通过本实施例,将线程标识以及对应线程标识的丢失时间对应存储,从而用户程序可以获得每一个虚拟处理器对应线程的丢失时间,并计算每一个虚拟处理器的丢失时间率,通过与虚拟机标识进行关联,即可以获得每一个虚拟机对应的每一个虚拟处理器的丢失时间率。
该丢失时间率还可以输出或者提供给处理设备,以便于查看虚拟处理器的资源争抢程度。
通过申请实施例,可以实时精确的监控每一个虚拟机的每一个虚拟处理器的资源争抢程度,且消耗资源非常小。
在本申请的一个实际应用中,虚拟机可以是指利用KVM技术创建的,是由KVM组件、QEMU以及libvirt等实现的。
利用KVM技术创建虚拟机时,可以使用libvirt管理虚拟机,通过libvirt写一个虚拟机配置文件,里面指定了虚拟机的名字,VCPU数据,内存大小等,然后调用libvirt创建虚拟机,把配置文件作为参数传入,libvir即会跟据配置文件生成一系列的QEMU参数,利用QEMU参数即可以启动QEMU进程,QEMU进程即是一个虚拟机容器。QEMU进程会创建VCPU线程,该VCPU线程可以调用KVM组件创建一个VCPU。
因此VCPU创建,即会存在线程标识、进程标识,因此内核程序可以将虚拟机的进程标识以及VPCU对应的线程标识对应存储在数据结构中,该数据结构是指用于描述VCPU的数据结构。通过在该数据结构中新增成员,可以用来存储线程标识以及进程标识。
同时,在VCPU对应线程运行时,还可以获得该线程的丢失时间,因此可以将该丢失时间与该线程标识、进程标识对应存储在数据结构中,作为每一个VCPU的记录信息。
KVM虚拟化,是在Linux系统中进行。运行在用户态的用户程序无法访问运行在内核态的数据结构,因此为了方便用户程序读取,可以通过proc文件系统读取。
可以在proc文件系统预先创建访问接口,从而可以通过proc文件系统预先创建的新增访问接口,读取数据结构预先创建的新增成员中存储的每一个虚拟处理器的记录信息。
而由于数据结构的新增成员中存储的成员信息包括进程标识、线程标识以及丢失时间,无法确定属于哪一个虚拟机,而虚拟机标识存在在libvirt、线程标识以及进程标识在QEMU进程中。因此可以从libvirt中查询每一个虚拟机的虚拟机标识,通过创建libvirt接口,通过libvirt的libvirt接口查询所述虚拟标识关联的QEMU进程,获得QEMU进程的进程标识和每一个VCPU对应线程的线程标识,从而即可以将进程标识、线程标识以及丢失时间率与每一个虚拟机的虚拟机标识关联起来。即可以获得每一个虚拟机对应的每一个VCPU的丢失时间率。该丢失时间率可以准确表示VCPU的资源争抢程度。
图3为本申请提供的一种虚拟机监控装置一个实施例的结构示意图,本实施例可以作为运行在用户态的用户程序,实现对每一个虚拟机的每一个虚拟机处理器的监控。
该装置可以包括:
查询模块301,用于查询创建每一个虚拟机时的虚拟机标识以及所述虚拟机中每一个虚拟处理器对应线程的线程标识,并确定所述虚拟机标识与所述线程标识的关联关系;
可以是通过虚拟化管理软件查询创建每一个虚拟机时的虚拟机标识以及所述虚拟机中每一个虚拟处理器对应线程的线程标识,并确定所述虚拟机标识与所述线程标识的关联关系。
具体的,由于虚拟机名称存储在虚拟化管理软件中,进程标识以及线程标识需要从进程中获得,因此可以是从虚拟化管理软件中查询每一个虚拟机的虚拟机标识。在虚拟机管理软件中,虚拟机的虚拟机标识与虚拟机对应进程关联,因此可以通过虚拟化管理软件从虚拟机标识关联的进程中查询线程标识,即可以将虚拟机标识与线程标识进行关联。当然还可以通过虚拟化管理软件从进程中查询进程标识。
读取模块302,用于每间隔预设时间,读取每一个虚拟处理器的记录信息。
其中,记录信息可以存储在数据结构中。
所述记录信息包括线程标识以及所述线程标识对应的丢失时间;所述线程标识为在进行虚拟机创建时存储在所述数据结构中的;所述丢失时间为每一个线程运行时记录的丢失时间,与所述线程的线程标识对应存储在数据结构中;
在虚拟机创建时,内核程序可以将虚拟处理器对应的线程标识存储在数据结构中,以及将在每一个虚拟处理器对应线程运行时,为每一个虚拟处理器对应线程记录的丢失时间与线程标识对应存储,作为虚拟处理器的记录信息。
当然,还可以将线程标识对应的进程标识与线程标识对应存储在数据结构中,因此该记录信息中还可以包括进程标识。
该数据结构是内核程序描述虚拟处理器的数据结构,用于存储虚拟处理器的相关信息等。
为了能够将线程标识、进程标识等存储在数据结构,可以预先在数据结构中创建成员,作为新增成员存储线程标识、进程标识以及丢失时间等。
因此,读取模块具体是每间隔预设时间,从数据结构的新增成员中读取获得每一个虚拟处理器的记录信息。
为了实现用户程序访问内核程序,可以通过proc文件系统访问内核中的数据结构,以读取每一个虚拟处理器的记录信息。
proc文件系统是一种伪文件系统,利用伪文件系统即可以实现和内核程序的数据结构进行交互。
计算模块303,用于根据相邻两次获得的丢失时间,计算每一个虚拟处理器的丢失时间变率。
丢失时间并无法准确表示线程的等待情况,无法表示虚拟处理器的资源争抢程度。因此可以根据相邻两次获得的丢失时间,计算每一个线程标识对应的丢失时间率。
例如,当前获得丢失时间记为st,当前时间,记为t,间隔预设时间T之后,获得的丢失时间记为st’,时间记为t’,丢失时间率即为(st’-st)/(t’–t)。
确定模块304,用于根据每一个虚拟机的虚拟机标识关联的线程标识,确定每一个虚拟机对应的每一个虚拟处理器的丢失时间率。
所述丢失时间率用于表示每一个虚拟机的每一个虚拟处理器的资源争抢程度。
丢失时间率小,表明资源争抢程度小,丢失时间率大,表明资源争抢程度大,资源争抢情况严重,需要作出处理措施。
由于读取的虚拟处理器的记录信息包括线程标识以及丢失时间。为了确定获得丢失变化时间率属于哪一个虚拟机。可以根据查询获得虚拟机标识以及线程标识的对应关系,建立虚拟机标识、线程标识以及丢失时间率的关联关系,从而即可以获得每一个虚拟机对应的每一个虚拟处理器的丢失时间率。
该丢失时间率即可以准确表示每一个虚拟机的每一个虚拟处理器的资源争抢程度。
通过申请实施例,可以实时精确的监控每一个虚拟机的每一个虚拟处理器的资源争抢程度,且消耗资源非常小。
作为又一个实施例,该装置还可以包括:
输出模块,用于建立虚拟机标识、线程标识以及丢失时间率的对应关系,并将所述立虚拟机标识、线程标识以及丢失时间率对应输出或者提供给处理设备,以便于查看每一个虚拟机对应的每一个虚拟处理器的丢失时间率。
当然,还可以还可以将每一个虚拟机的CPU负载利用率、每一个虚拟机的进程标识对应虚拟机标识、线程标识以及丢失时间率输出。
该进程标识可以作为记录信息对应线程标识记录在数据结构中,以方便用户程序读取。
因此,所述查询模块可以是:查询每一个虚拟机的虚拟机标识以及所述虚拟机对应进程的进程标识、所述虚拟机中每一个虚拟处理器对应线程的线程标识,确定所述虚拟机标识、所述进程标识以及所述线程标识的关联关系;具体的可以是通过虚拟化管理软件进行查询。
因此,所述记录信息中还包括每一个虚拟处理器对应进程的进程标识;
所述确定模块可以是:
所述根据每一个虚拟机的虚拟机标识关联的进程标识以及线程标识,获得每一个虚拟机对应的进程,以及所述进程中每一个虚拟处理器的丢失时间率。
由于每个线程标识即对应一个虚拟处理器,因此还可以根据每一个线程标识设定虚拟处理器名称,以方便查看。
当然,作为又一个实施例,所述方法还可以包括:
提示模块,用于在每一个虚拟机对应的每一个虚拟处理器的丢失时间率大于预设值时,输出提示信息,用于提示用户资源争取程度严重,需要作出处理措施等。
其中,在本申请实施例的虚拟机为KVM虚拟机时,所述数据结构为用于描述虚拟处理器的数据结构,每一个虚拟处理器的记录信息存储在所述数据结构的新增成员中;
此时,所述读取模块可以具体用于:
每间隔预设时间,通过proc文件系统预先创建的新增访问接口,读取所述数据结构预先创建的新增成员中存储的每一个虚拟处理器的记录信息。
此外,除了可以查询虚拟机标识对应的线程标识,还可以查询虚拟机标识对应的线程标识,因此作为又一个实施例,所述查询模块可以具体用于:
通过虚拟化管理软件查询每一个虚拟机的虚拟机标识以及所述虚拟机对应进程的进程标识,所述虚拟机中每一个虚拟处理器对应线程的线程标识;
所述记录信息中还包括每一个虚拟处理器对应进程的进程标识;
所述确定模块可以具体用于包括:
所述根据所述虚拟机标识关联的进程标识以及线程标识,获得每一个虚拟机对应的进程,以及所述进程中每一个虚拟处理器的丢失时间率。
图4为本申请实施例提供的一种虚拟机监控装置又一个实施例的结构示意图,该装置可以配置在内核程序中,该方法可以包括:
获取模块401,用于在进行虚拟机创建时,获取每一个虚拟机的每一个虚拟处理器对应线程的线程标识。
在进行虚拟机创建时,为了方便区分,虚拟化管理软件会为每一个虚拟机设置虚拟机标识,该虚拟机标识可以是指虚拟机名称等。
虚拟化管理软件启动一个进程,作为虚拟机容器,从而即可以获得进程标识,该进程创建虚拟处理器对应线程,即可以获得线程标识。
第一存储模块402,用于将每一个虚拟处理器对应线程的线程标识进行存储。
其中,线程标识可以存储在数据结构中。
在虚拟机创建时,可以是将每一个虚拟机的每一个虚拟处理器对应的线程标识存储在数据结构中。
当然还可以将线程标识对应的进程标识对应存储在数据结构中。
为了方便存储和读取,可以在数据结构中预先创建新增成员,具体是将将线程标识存储在数据结构的新增成员中。
第二存储模块403,用于记录每一个虚拟处理器对应线程的丢失时间,并与所述线程的线程标识对应存储,作为每一个虚拟处理器的记录信息。
内核程序还可以记录每一个虚拟处理器对应线程的丢失时间,可以将每一个虚拟处理器对应线程的丢失时间与虚拟处理器对应线程的线程标识对应存储在所述数据结构中。当然还可以将每一个虚拟处理器对应的虚拟机对应的进程的进程标识存储在所述数据结构中。
具体的,可以是将进程标识、线程标识以及丢失时间对应存储在新增成员中,以便于从新增成员中读取虚拟处理器的记录信息。
从而于用户程序可以查询创建每一个虚拟机时的虚拟机标识以及所述每一个虚拟机中每一个虚拟处理器对应线程的线程标识,,确定所述虚拟机标识与所述线程标识的关联关系,并每间隔预设时间,读取所述每一个虚拟处理器的记录信息,并根据相邻两次获得的丢失时间,计算每一个虚拟处理器的丢失时间率,根据所述虚拟机标识关联的线程标识,获得每一个虚拟机对应的每一个虚拟处理器的丢失时间率;所述丢失时间率用于表示虚拟处理器的资源争抢程度。
通过本实施例,将线程标识以及对应线程标识的丢失时间对应存储,从而用户程序可以获得每一个虚拟处理器对应线程的丢失时间,并计算每一个虚拟处理器的丢失时间率,通过与虚拟机标识进行关联,即可以获得每一个虚拟机对应的每一个虚拟处理器的丢失时间率。
该丢失时间率还可以输出或者提供给处理设备,以便于查看虚拟处理器的资源争抢程度。
通过申请实施例,可以实时精确的监控每一个虚拟机的每一个虚拟处理器的资源争抢程度,且消耗资源非常小。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flashRAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
如在说明书及权利要求当中使用了某些词汇来指称特定组件。本领域技术人员应可理解,硬件制造商可能会用不同名词来称呼同一个组件。本说明书及权利要求并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。如在通篇说明书及权利要求当中所提及的“包含”为一开放式用语,故应解释成“包含但不限定于”。“大致”是指在可接收的误差范围内,本领域技术人员能够在一定误差范围内解决所述技术问题,基本达到所述技术效果。此外,“耦接”一词在此包含任何直接及间接的电性耦接手段。因此,若文中描述一第一装置耦接于一第二装置,则代表所述第一装置可直接电性耦接于所述第二装置,或通过其他装置或耦接手段间接地电性耦接至所述第二装置。说明书后续描述为实施本申请的较佳实施方式,然所述描述乃以说明本申请的一般原则为目的,并非用以限定本申请的范围。本申请的保护范围当视所附权利要求所界定者为准。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。
上述说明示出并描述了本申请的若干优选实施例,但如前所述,应当理解本申请并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述申请构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本申请的精神和范围,则都应在本申请所附权利要求的保护范围内。
Claims (10)
1.一种虚拟机监控方法,其特征在于,包括:
查询创建每一个虚拟机时的虚拟机标识以及所述虚拟机中每一个虚拟处理器对应线程的线程标识,并确定所述虚拟机标识与所述线程标识的关联关系;
每间隔预设时间,从数据结构中读取每一个虚拟处理器的记录信息,所述记录信息包括线程标识以及所述线程标识对应的丢失时间;所述线程标识为在进行虚拟机创建时存储在所述数据结构中的;所述丢失时间为每一个线程运行时的丢失时间,与线程标识对应存储在所述数据结构中;
根据相邻两次获得的丢失时间,计算每一个虚拟处理器的丢失时间率;
根据每一个虚拟机的虚拟机标识关联的线程标识,确定每一个虚拟机对应的每一个虚拟处理器的丢失时间率;所述丢失时间率用于表示虚拟处理器的资源争抢程度。
2.如权利要求1所述的方法,其特征在于,所述根据所述每一个虚拟机的虚拟机标识关联的线程标识,确定每一个虚拟机对应的每一个虚拟处理器的丢失时间率之后,所述方法还包括:
建立虚拟机标识、线程标识以及丢失时间率的对应关系,并将所述虚拟机标识、线程标识以及丢失时间率对应提供给处理设备,以便于查看每一个虚拟机中每一个虚拟处理器的丢失时间率。
3.如权利要求1所述的方法,其特征在于,所述虚拟机为KVM虚拟机,所述数据结构为用于描述虚拟处理器的数据结构,每一个虚拟处理器的记录信息存储在所述数据结构的新增成员中;
所述每间隔预设时间,从数据结构中读取每一个虚拟处理器的记录信息包括:
每间隔预设时间,通过proc文件系统预先创建的新增访问接口,读取所述数据结构预先创建的新增成员中存储的每一个虚拟处理器的记录信息。
4.如权利要求1所述的方法,其特征在于,所述查询创建每一个虚拟机时的虚拟机标识以及所述虚拟机标识对应的每一个虚拟处理器的线程标识,确定所述虚拟机标识与所述线程标识的关联关系包括:
通过虚拟化管理软件查询每一个虚拟机的虚拟机标识以及所述虚拟机对应进程的进程标识、所述虚拟机中每一个虚拟处理器对应线程的线程标识,并确定所述虚拟机标识、所述进程标识以及所述线程标识的关联关系;
所述记录信息还包括进程标识,所述进程标识为在进行虚拟机创建时对应线程标识存储在所述数据结构中的;
所述根据每一个虚拟机的虚拟机标识关联的线程标识,确定每一个虚拟机对应的每一个虚拟处理器的丢失时间率包括:
根据每一个虚拟机的虚拟机标识关联的进程标识以及线程标识,确定每一个虚拟机对应的进程,以及所述进程中每一个虚拟处理器的丢失时间率。
5.一种虚拟机监控方法,其特征在于,包括:
在进行虚拟机创建时,获取每一个虚拟机的每一个虚拟处理器对应线程的线程标识;
将每一个虚拟处理器对应线程的线程标识存储在数据结构中;
记录每一个虚拟处理器对应线程的丢失时间,并与所述线程的线程标识对应存储,作为每一个虚拟处理器的记录信息,以便于用户程序查询创建每一个虚拟机时的虚拟机标识以及所述虚拟机中每一个虚拟机处理器对应线程的线程标识,并确定所述虚拟机标识与所述线程标识的关联关系之后,每间隔预设时间,从所述数据结构中读取所述每一个虚拟处理器的记录信息,并根据相邻两次获得的丢失时间,计算每一个虚拟处理器的丢失时间率,根据每一个虚拟机的虚拟机标识关联的线程标识,确定每一个虚拟机对应的每一个虚拟处理器的丢失时间率;所述丢失时间率用于表示虚拟处理器的资源争抢程度。
6.一种虚拟机监控装置,其特征在于,包括:
查询模块,用于查询创建每一个虚拟机时的虚拟机标识以及所述虚拟机中每一个虚拟处理器对应线程的线程标识,并确定所述虚拟机标识与所述线程标识的关联关系;
读取模块,用于每间隔预设时间,从数据结构中读取每一个虚拟处理器的记录信息,所述记录信息包括线程标识以及所述线程标识对应的丢失时间;所述线程标识为在进行虚拟机创建时存储在所述数据结构中的;所述丢失时间为每一个线程运行时的丢失时间,并与线程标识对应存储在所述数据结构中;
计算模块,用于根据相邻两次获得的丢失时间,计算每一个虚拟处理器的丢失时间率;
确定模块,用于根据所述每一个虚拟机的虚拟机标识关联的线程标识,确定每一个虚拟机对应的每一个虚拟处理器的丢失时间率;所述丢失时间率用于表示虚拟处理器的资源争抢程度。
7.如权利要求6所述的装置,其特征在于,还包括:
输出模块,用于建立虚拟机标识、线程标识以及丢失时间率的对应关系,并将所述立虚拟机标识、线程标识以及丢失时间率对应提供给处理设备,以便于查看每一个虚拟机中每一个虚拟处理器的丢失时间率。
8.如权利要求6所述的装置,其特征在于,所述虚拟机为KVM虚拟机,所述数据结构为用于描述虚拟处理器的数据结构,每一个虚拟处理器的记录信息存储在所述数据结构的新增成员中;
所述读取模块具体用于:
每间隔预设时间,通过proc文件系统预先创建的新增访问接口,读取所述数据结构预先创建的新增成员中存储的每一个虚拟处理器的记录信息。
9.如权利要求6所述的装置,其特征在于,所述查询模块具体用于:
通过虚拟化管理软件查询每一个虚拟机的虚拟机标识以及所述虚拟机对应进程的进程标识、所述虚拟机中每一个虚拟处理器对应线程的线程标识,确定所述虚拟机标识、所述进程标识以及所述线程标识的关联关系;
所述记录信息还包括进程标识,所述进程标识为在进行虚拟机创建时对应线程标识存储在所述数据结构中的;
所述确定模块具体用于包括:
所述根据每一个虚拟机的虚拟机标识关联的进程标识以及线程标识,确定每一个虚拟机对应的进程,以及所述进程中每一个虚拟处理器的丢失时间率。
10.一种虚拟机监控装置,其特征在于,包括:
获取模块,用于在进行虚拟机创建时,获取每一个虚拟机中每一个虚拟处理器对应线程的线程标识;
第一存储模块,用于将每一个虚拟处理器对应线程的线程标识存储在数据结构中;
第二存储模块,用于记录每一个虚拟处理器对应线程的丢失时间,并与所述线程的线程标识对应存储,作为每一个虚拟处理器的记录信息,以便于用户程序查询创建每一个虚拟机时的虚拟机标识以及所述虚拟机中每一个虚拟处理器对应线程的线程标识,并确定所述虚拟机标识与所述线程标识的关联关系之后,每间隔预设时间,从所述数据结构中读取所述每一个虚拟处理器的记录信息,并根据相邻两次获得的丢失时间,计算每一个虚拟处理器的丢失时间率,根据每一个虚拟机的虚拟机标识关联的线程标识,确定每一个虚拟机对应的每一个虚拟处理器的丢失时间率;所述丢失时间率用于表示虚拟处理器的资源争抢程度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610041962.0A CN106990998B (zh) | 2016-01-21 | 2016-01-21 | 虚拟机监控方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610041962.0A CN106990998B (zh) | 2016-01-21 | 2016-01-21 | 虚拟机监控方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106990998A CN106990998A (zh) | 2017-07-28 |
CN106990998B true CN106990998B (zh) | 2020-10-27 |
Family
ID=59414285
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610041962.0A Active CN106990998B (zh) | 2016-01-21 | 2016-01-21 | 虚拟机监控方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106990998B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112783713A (zh) * | 2019-11-08 | 2021-05-11 | 深信服科技股份有限公司 | 一种多核虚拟机卡顿的处理方法、装置、设备和存储介质 |
CN111736960B (zh) * | 2020-08-10 | 2020-12-22 | 北京信安世纪科技股份有限公司 | 基于软件隔离的服务提供方法、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1388448A (zh) * | 2001-05-30 | 2003-01-01 | 欧姆龙株式会社 | 程序执行装置及便携式信息处理装置 |
CN101183315A (zh) * | 2007-12-10 | 2008-05-21 | 华中科技大学 | 一种并行多处理器虚拟机系统 |
CN101751284A (zh) * | 2009-12-25 | 2010-06-23 | 北京航空航天大学 | 一种分布式虚拟机监控器的i/o资源调度方法 |
CN103699430A (zh) * | 2014-01-06 | 2014-04-02 | 山东大学 | 基于j2ee架构的远程kvm虚拟机管理系统的工作方法 |
-
2016
- 2016-01-21 CN CN201610041962.0A patent/CN106990998B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1388448A (zh) * | 2001-05-30 | 2003-01-01 | 欧姆龙株式会社 | 程序执行装置及便携式信息处理装置 |
CN101183315A (zh) * | 2007-12-10 | 2008-05-21 | 华中科技大学 | 一种并行多处理器虚拟机系统 |
CN101751284A (zh) * | 2009-12-25 | 2010-06-23 | 北京航空航天大学 | 一种分布式虚拟机监控器的i/o资源调度方法 |
CN103699430A (zh) * | 2014-01-06 | 2014-04-02 | 山东大学 | 基于j2ee架构的远程kvm虚拟机管理系统的工作方法 |
Non-Patent Citations (1)
Title |
---|
资源调度等待开销感知的虚拟机整合;李铭夫等;《软件学报》;20141231;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN106990998A (zh) | 2017-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10545781B2 (en) | Dynamically deployed virtual machine | |
US10455003B2 (en) | Method, server, and system for sharing resource data | |
CN110609730B (zh) | 一种实现虚拟处理器间中断透传的方法及设备 | |
US9338057B2 (en) | Techniques for searching data associated with devices in a heterogeneous data center | |
CN106897342B (zh) | 一种数据校验方法和设备 | |
US20210357235A1 (en) | Method, device, apparatus for identifying graphics card of gpu server and medium | |
CN107491372A (zh) | 一种针对Linux系统RPM包统计CPU占用率的方法及系统 | |
CN107844362B (zh) | 虚拟化tpm设备的系统、方法、虚拟机及可读存储介质 | |
CN106990998B (zh) | 虚拟机监控方法及装置 | |
CN109901957B (zh) | 以可扩展固件接口进行内存测试的计算装置及其方法 | |
WO2016173172A1 (zh) | 堆内存操作的检测方法及装置 | |
US9262274B2 (en) | Persistent data across reboots | |
CN112328363A (zh) | 一种云硬盘挂载方法及其装置 | |
CN109960534A (zh) | 设备探测方法、装置、存储介质以及电子设备 | |
CN111831389A (zh) | 一种数据处理方法、装置以及存储介质 | |
US20110202903A1 (en) | Apparatus and method for debugging a shared library | |
CN110837446A (zh) | 应用于嵌入式系统的设备管理方法及装置、介质以及嵌入式设备 | |
US10289467B2 (en) | Error coordination message for a blade device having a logical processor in another system firmware domain | |
CN107766385B (zh) | 一种转换虚拟磁盘文件格式的方法与设备 | |
US20210397508A1 (en) | Localization of potential issues to objects | |
CN114416442A (zh) | 硬件变更的检测方法、装置、电子设备及可读存储介质 | |
CN106909472B (zh) | 一种分布式文件系统的输入/输出负载调整方法及装置 | |
CN107766216A (zh) | 一种用于获取应用执行信息的方法与设备 | |
WO2017076034A1 (zh) | 一种对移动终端的存储器进行格式化的方法和装置 | |
CN110968754B (zh) | 一种爬虫翻页策略的检测方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20230609 Address after: Room 1-2-A06, Yungu Park, No. 1008 Dengcai Street, Sandun Town, Xihu District, Hangzhou City, Zhejiang Province Patentee after: Aliyun Computing Co.,Ltd. Address before: Box 847, four, Grand Cayman capital, Cayman Islands, UK Patentee before: ALIBABA GROUP HOLDING Ltd. |