CN103324516B - 基于虚拟化驱动的硬件管理方法和装置 - Google Patents
基于虚拟化驱动的硬件管理方法和装置 Download PDFInfo
- Publication number
- CN103324516B CN103324516B CN201310279594.XA CN201310279594A CN103324516B CN 103324516 B CN103324516 B CN 103324516B CN 201310279594 A CN201310279594 A CN 201310279594A CN 103324516 B CN103324516 B CN 103324516B
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- host
- memory
- described virtual
- internal memory
- 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
Abstract
本发明公开了一种基于虚拟化驱动的硬件管理方法和装置,该方法包括:检测虚拟机对分配给虚拟机的内存进行的访问;根据检测到的虚拟机对内存进行访问的情况,确定分配给虚拟机的内存中被虚拟机访问的存储位置;根据内存中被访问的存储位置,对分配给虚拟机的内存空间进行调整。本发明通过根据检测到的虚拟机对内存进行访问的情况,确定分配给虚拟机的内存中被虚拟机访问的存储位置,并根据该存储位置对分配给虚拟机的内存空间进行调整,能够实现对虚拟机剩余内存的释放和不足内存的补充,提高内存的利用率;并且通过判断虚拟机正在执行的进程所属的进程类型确定是否允许虚拟机的操作系统直接对宿主机的物理硬件进行操作,从而提高虚拟机性能。
Description
技术领域
本发明涉及计算机领域,并且特别地,涉及一种基于虚拟化驱动的硬件管理方法和装置。
背景技术
目前利用CPU的虚拟化技术支持,各种虚拟化平台都很容易的实现了虚拟化windows客户机,但windows客户机的性能相对物理硬件性能损失较大。现有的一些windows虚拟化驱动安装后,导致部分虚拟化高级功能不再可用,例如无法自动调节虚拟机被分配的内存空间的大小,无法实施内存资源的灵活调度,进而导致部分虚拟机资源过剩,而部分虚拟机不能够得到足够的资源,影响业务的正常进行。
针对相关技术中无法对虚拟机内存空间进行调整的问题,目前尚未提出有效的解决方案。
发明内容
针对相关技术中无法对虚拟机内存空间进行调整的问题,本发明提出一种基于虚拟化驱动的硬件管理方法和装置,能够实现对虚拟机剩余内存的释放和不足内存的补充,提高内存的利用率,从而提高虚拟机的性能。
本发明的技术方案是这样实现的:
根据本发明的一个方面,提供了一种基于虚拟化驱动的硬件管理方法,该方法包括:
检测虚拟机对分配给虚拟机的内存进行的访问;
根据检测到的虚拟机对内存进行访问的情况,确定分配给虚拟机的内存中被虚拟机访问的存储位置;
根据内存中被访问的存储位置,对分配给虚拟机的内存空间进行调整。
其中,对分配给虚拟机的内存空间进行调整包括:
在根据检测到的虚拟机对内存进行访问的情况为被虚拟机访问的内存空间小于分配给虚拟机的内存空间的情况下,将分配给虚拟机的内存中在预定时间段内未被虚拟机访问的内存空间释放;
在根据检测到的虚拟机对内存进行访问的情况确定虚拟机的内存空间不足的情况下,向宿主机发送包括所需内存空间大小的内存不足的指令,以便宿主机根据该指令增加对虚拟机分配的内存空间。
此外,该方法进一步包括:
判断虚拟机正在执行的进程所属的进程的类型;
根据判断得到的进程的类型确定是否允许虚拟机对宿主机的物理硬件进行操作。
其中,根据进程的类型确定是否允许虚拟机对宿主机的物理硬件进行操作包括:
在进程的类型为内核进程的情况下,禁止虚拟机对宿主机的物理硬件进行操作;
在进程的类型为用户级进程的情况下,允许虚拟机对宿主机的物理硬件进行操作。
其中,对宿主机的物理硬件进行的操作包括以下至少之一:对宿主机的硬盘进行访问、对宿主机的网络进行访问、对宿主机的内存进行访问、对宿主机的CPU的计算能力进行监测。
根据本发明的另一方面,提供了一种基于虚拟化驱动的硬件管理装置,该装置包括:
检测模块,用于检测虚拟机对分配给虚拟机的内存进行的访问;
确定模块,用于根据检测到的虚拟机对虚拟机的内存进行的访问的情况,确定分配给虚拟机的内存中被虚拟机访问的存储位置;
调整模块,根据内存中被访问的存储位置,对分配给虚拟机的内存空间进行调整。
具体地,调整模块用于在被虚拟机访问的内存空间小于分配给虚拟机的内存空间的情况下,将分配给虚拟机的内存中在预定时间段内未被虚拟机访问的内存空间释放;在虚拟机的内存空间不足的情况下,向宿主机发送包括所需内存空间大小的内存不足的指令,以便宿主机根据该指令增加对虚拟机分配的内存空间。
此外,该装置进一步包括:
判断模块,用于判断虚拟机正在执行的进程所属的进程类型;
操作控制模块,用于根据判断得到的进程的类型确定是否允许虚拟机对宿主机的物理硬件进行操作。
具体地,操作控制模块用于在进程的类型为内核进程的情况下,禁止虚拟机对宿主机的物理硬件进行操作;并且,操作控制模块还用于在进程的类型为用户级进程的情况下,允许虚拟机对宿主机的物理硬件进行操作。
其中,对宿主机的物理硬件进行的操作包括以下至少之一:对宿主机的硬盘进行访问、对宿主机的网络进行访问、对宿主机的内存进行访问、对宿主机的CPU的计算能力进行监测。
本发明通过根据检测到的虚拟机对内存进行访问的情况,确定分配给虚拟机的内存中被虚拟机访问的存储位置,并根据该存储位置对分配给虚拟机的内存空间进行调整,能够实现对虚拟机剩余的内存的释放和不足的内存的补充,提高内存的利用率,从而提高虚拟机的性能。
附图说明
图1是根据本发明实施例的基于虚拟化驱动的硬件管理方法流程图;
图2是根据本发明实施例的基于虚拟化驱动的硬件管理装置框图。
具体实施方式
根据本发明的实施例,提供了一种基于虚拟化驱动的硬件管理方法。
如图1所示,根据本发明实施例的基于虚拟化驱动的硬件管理方法包括:
步骤S101,检测虚拟机对分配给虚拟机的内存进行的访问;
步骤S103,根据检测到的虚拟机对内存进行访问的情况,确定分配给虚拟机的内存中被虚拟机访问的存储位置;
步骤S105,根据内存中被访问的存储位置,对分配给虚拟机的内存空间进行调整。
其中,在对分配给虚拟机的内存空间进行调整时,可以在根据检测到的虚拟机对内存进行访问的情况为被虚拟机访问的内存空间小于分配给虚拟机的内存空间的情况下,将分配给虚拟机的内存中在预定时间段内未被虚拟机访问的内存空间释放;在根据检测到的虚拟机对内存进行访问的情况确定虚拟机的内存空间不足的情况下,向宿主机发送包括所需内存空间大小的内存不足的指令,以便宿主机根据该指令增加对虚拟机分配的内存空间。
例如,在一个实施例中,假设基于同一台宿主机虚拟出两台虚拟机1和虚拟机2,并分配给虚拟机1和虚拟机2各8G内存空间,而在虚拟机的实际运行中,检测出虚拟机1有2G的内存在预定时间内始终未被读写,此时,将预定时间内始终未被读写的2G内存释放。同时,如果虚拟机2对内存的需求很大,而之前分配给虚拟机2的8G内存并无法满足该程序运行的需要,此时,会向宿主机发送一个指令,该指令所传达的信息包括该虚拟机2还需要多大的内存空间才能正常运行,宿主机接收到该指令后,会对虚拟机2的内存空间进行补充,从而对内存空间的使用进行优化和灵活调度,满足虚拟机对内存的需求,并且不会影响虚拟机业务的正常进行。
此外,该方法可进一步包括:
判断虚拟机正在执行的进程所属的进程的类型;
根据判断得到的进程的类型确定是否允许虚拟机对宿主机的物理硬件进行操作。
其中,在根据进程的类型确定是否允许虚拟机对宿主机的物理硬件进行操作时,在进程的类型为内核进程的情况下,禁止虚拟机对宿主机的物理硬件进行操作;在进程的类型为用户级进程的情况下,允许虚拟机对宿主机的物理硬件进行操作。通过根据进程类型的判断,以及硬件访问控制,能够使虚拟机合理地直接控制宿主机的物理硬件,有效提高虚拟机的IO性能,并且避免因为虚拟机控制物理硬件而导致宿主机受到不良影响的问题。
其中,对宿主机的物理硬件进行的操作包括以下至少之一:对宿主机的硬盘进行访问、对宿主机的网络进行访问、对宿主机的内存进行访问、对宿主机的CPU的计算能力进行监测。
例如,在一个实施例中,当一台虚拟机正在进行的进程为客户机进程时,网络驱动模块和磁盘IO模块可以绕过宿主机的操作系统直接通过旁路对物理设备进行操作,有效的提升了虚拟机的IO性能,当此虚拟机正在进行的进程为内核进程时,虚拟机操作系统则不能通过旁路直接对宿主机的物理硬件进行操作,此时必须经过宿主机的操作系统对宿主机的物理硬件进行操作,以保证宿主机的正常运行,不会出现宿主机死机的情况,有效的提升了虚拟机的IO性能。
根据本发明的另一实施例,提供了一种基于虚拟化驱动的硬件管理装置。
如图2所示,该装置包括:
检测模块21,用于检测虚拟机对分配给虚拟机的内存进行的访问;
确定模块22,用于根据检测到的虚拟机对虚拟机的内存进行的访问的情况,确定分配给虚拟机的内存中被虚拟机访问的存储位置;
调整模块23,根据内存中被访问的存储位置,对分配给虚拟机的内存空间进行调整。
具体地,调整模块23用于在被虚拟机访问的内存空间小于分配给虚拟机的内存空间的情况下,将分配给虚拟机的内存中在预定时间段内未被虚拟机访问的内存空间释放;在虚拟机的内存空间不足的情况下,向宿主机发送包括所需内存空间大小的内存不足的指令,以便宿主机根据该指令增加对虚拟机分配的内存空间。
此外,该装置可进一步包括:
判断模块(未示出),用于判断虚拟机正在执行的进程所属的进程类型;
操作控制模块(未示出),用于根据判断得到的进程的类型确定是否允许虚拟机对宿主机的物理硬件进行操作。
具体地,操作控制模块用于在进程的类型为内核进程的情况下,禁止虚拟机对宿主机的物理硬件进行操作;在进程的类型为用户级进程的情况下,允许虚拟机对宿主机的物理硬件进行操作。
其中,对宿主机的物理硬件进行的操作包括以下至少之一:对宿主机的硬盘进行访问、对宿主机的网络进行访问、对宿主机的内存进行访问、对宿主机的CPU的计算能力进行监测。
综上所述,借助于本发明的上述技术方案,通过根据检测到的虚拟机对内存进行访问的情况,确定分配给虚拟机的内存中被虚拟机访问的存储位置,并根据该存储位置对分配给虚拟机的内存空间进行调整,能够实现对虚拟机剩余内存的释放和不足内存的补充,提高内存的利用率;并且能够通过判断虚拟机正在执行的进程所属的进程类型确定是否允许虚拟机的操作系统直接对宿主机的物理硬件进行操作,从而提高虚拟机性能,且不损失虚拟化平台的众多优势。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (4)
1.一种基于虚拟化驱动的硬件管理方法,其特征在于,包括:
检测虚拟机对分配给所述虚拟机的内存进行的访问;
根据检测到的所述虚拟机对所述内存进行访问的情况,确定分配给所述虚拟机的所述内存中被所述虚拟机访问的存储位置;
根据所述内存中被访问的存储位置,对分配给所述虚拟机的内存空间进行调整;
其中,判断所述虚拟机正在执行的进程所属的进程的类型;
根据判断得到的所述进程的类型确定是否允许所述虚拟机对宿主机的物理硬件进行操作;
对分配给所述虚拟机的内存空间进行调整包括:
在根据检测到的所述虚拟机对所述内存进行访问的情况为被所述虚拟机访问的内存空间小于分配给所述虚拟机的内存空间的情况下,将分配给所述虚拟机的所述内存中在预定时间段内未被所述虚拟机访问的内存空间释放;
根据所述进程的类型确定是否允许所述虚拟机对宿主机的物理硬件进行操作包括:
在所述进程的类型为内核进程的情况下,禁止所述虚拟机对宿主机的物理硬件进行操作;
在所述进程的类型为用户级进程的情况下,允许所述虚拟机对宿主机的物理硬件进行操作;
对所述宿主机的物理硬件进行的操作包括以下至少之一:对所述宿主机的硬盘进行访问、对所述宿主机的网络进行访问、对所述宿主机的内存进行访问、对所述宿主机的CPU的计算能力进行监测。
2.根据权利要求1所述的硬件管理方法,对分配给所述虚拟机的内存空间进行调整包括:
在根据检测到的所述虚拟机对所述内存进行访问的情况确定所述虚拟机的内存空间不足的情况下,向宿主机发送包括所需内存空间大小的内存 不足的指令,以便宿主机根据所述指令增加对所述虚拟机分配的内存空间。
3.一种基于虚拟化驱动的硬件管理装置,其特征在于,包括:
检测模块,用于检测虚拟机对分配给所述虚拟机的内存进行的访问;
确定模块,用于根据检测到的所述虚拟机对所述虚拟机的内存进行的访问的情况,确定分配给所述虚拟机的所述内存中被所述虚拟机访问的存储位置;
调整模块,根据所述内存中被访问的存储位置,对分配给所述虚拟机的内存空间进行调整;
其中,判断模块,用于判断所述虚拟机正在执行的进程所属的进程类型;
操作控制模块,用于根据判断得到的所述进程的类型确定是否允许所述虚拟机对宿主机的物理硬件进行操作;
所述调整模块用于在被所述虚拟机访问的内存空间小于分配给所述虚拟机的内存空间的情况下,将分配给所述虚拟机的所述内存中在预定时间段内未被所述虚拟机访问的内存空间释放;
所述操作控制模块用于在所述进程的类型为内核进程的情况下,禁止所述虚拟机对宿主机的物理硬件进行操作;并且,所述操作控制模块还用于在所述进程的类型为用户级进程的情况下,允许所述虚拟机对宿主机的物理硬件进行操作;
其中,所述对宿主机的物理硬件进行的操作包括以下至少之一:对所述宿主机的硬盘进行访问、对所述宿主机的网络进行访问、对所述宿主机的内存进行访问、对所述宿主机的CPU的计算能力进行监测。
4.根据权利要求3所述的硬件管理装置,其特征在于,
并且,所述调整模块还用于在所述虚拟机的内存空间不足的情况下,向宿主机发送包括所需内存空间大小的内存不足的指令,以便宿主机根据所述指令增加对所述虚拟机分配的内存空间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310279594.XA CN103324516B (zh) | 2013-07-04 | 2013-07-04 | 基于虚拟化驱动的硬件管理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310279594.XA CN103324516B (zh) | 2013-07-04 | 2013-07-04 | 基于虚拟化驱动的硬件管理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103324516A CN103324516A (zh) | 2013-09-25 |
CN103324516B true CN103324516B (zh) | 2017-02-08 |
Family
ID=49193280
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310279594.XA Active CN103324516B (zh) | 2013-07-04 | 2013-07-04 | 基于虚拟化驱动的硬件管理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103324516B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9596235B2 (en) | 2015-03-30 | 2017-03-14 | Microsoft Technology Licensing, Llc | Power efficient storage management |
CN105279028B (zh) * | 2015-11-24 | 2018-09-07 | 浪潮(北京)电子信息产业有限公司 | 一种内存资源分配方法及装置 |
CN107766122B (zh) * | 2017-09-28 | 2021-01-15 | 苏州浪潮智能科技有限公司 | 一种宿主机的可用内存空间设置方法和装置 |
CN108124475B (zh) * | 2017-12-29 | 2022-05-20 | 达闼机器人股份有限公司 | 虚拟系统蓝牙通信方法及装置、虚拟系统、存储介质及电子设备 |
JP6496058B1 (ja) * | 2018-03-01 | 2019-04-03 | 株式会社東芝 | エンジニアリングツール、コントローラ、および制御システム |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101158924A (zh) * | 2007-11-27 | 2008-04-09 | 北京大学 | 一种虚拟机管理器的动态内存映射方法 |
CN101403992A (zh) * | 2008-07-18 | 2009-04-08 | 华为技术有限公司 | 实现远程内存交换的方法、装置及系统 |
CN101470633A (zh) * | 2007-12-24 | 2009-07-01 | 联想(北京)有限公司 | 一种虚拟机监视器、虚拟机系统及其内存处理方法 |
CN101751335A (zh) * | 2008-11-28 | 2010-06-23 | 国际商业机器公司 | 调度虚拟机的垃圾收集的方法、装置和集群系统 |
CN101971146A (zh) * | 2007-09-07 | 2011-02-09 | 甲骨文国际公司 | 改进作为管理程序来宾而运行的虚拟机中内存使用情况的系统和方法 |
CN102193814A (zh) * | 2010-03-09 | 2011-09-21 | 上海拜翰网络科技有限公司 | 嵌入式虚拟化内存动态分配方法及系统 |
CN102222014A (zh) * | 2011-06-16 | 2011-10-19 | 华中科技大学 | 基于内存热插拔的虚拟机动态内存管理系统 |
-
2013
- 2013-07-04 CN CN201310279594.XA patent/CN103324516B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101971146A (zh) * | 2007-09-07 | 2011-02-09 | 甲骨文国际公司 | 改进作为管理程序来宾而运行的虚拟机中内存使用情况的系统和方法 |
CN101158924A (zh) * | 2007-11-27 | 2008-04-09 | 北京大学 | 一种虚拟机管理器的动态内存映射方法 |
CN101470633A (zh) * | 2007-12-24 | 2009-07-01 | 联想(北京)有限公司 | 一种虚拟机监视器、虚拟机系统及其内存处理方法 |
CN101403992A (zh) * | 2008-07-18 | 2009-04-08 | 华为技术有限公司 | 实现远程内存交换的方法、装置及系统 |
CN101751335A (zh) * | 2008-11-28 | 2010-06-23 | 国际商业机器公司 | 调度虚拟机的垃圾收集的方法、装置和集群系统 |
CN102193814A (zh) * | 2010-03-09 | 2011-09-21 | 上海拜翰网络科技有限公司 | 嵌入式虚拟化内存动态分配方法及系统 |
CN102222014A (zh) * | 2011-06-16 | 2011-10-19 | 华中科技大学 | 基于内存热插拔的虚拟机动态内存管理系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103324516A (zh) | 2013-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103324516B (zh) | 基于虚拟化驱动的硬件管理方法和装置 | |
Tavakkol et al. | FLIN: Enabling fairness and enhancing performance in modern NVMe solid state drives | |
CN103699334B (zh) | 用于管理虚拟机磁盘的方法和系统 | |
US9904346B2 (en) | Methods and apparatus to improve turbo performance for events handling | |
CN102103516B (zh) | 基于虚拟cpu的频率和电压调节 | |
KR101564481B1 (ko) | 용량 플래닝 및 작업부하 관리를 통합하기 위한 시스템 및 방법 | |
US8276012B2 (en) | Priority-based power capping in data processing systems | |
EP2430538B1 (en) | Allocating computing system power levels responsive to service level agreements | |
CN102270104B (zh) | 虚拟化环境中动态磁盘带宽分配方法 | |
US20140373010A1 (en) | Intelligent resource management for virtual machines | |
CN109643243A (zh) | 动态虚拟cpu核分配 | |
US20230127141A1 (en) | Microservice scheduling | |
US7543161B2 (en) | Method and apparatus for tracking variable speed microprocessor performance caused by power management in a logically partitioned data processing system | |
CN101645050A (zh) | 虚拟化设备以及用于控制所述虚拟化设备的方法 | |
EP2772854B1 (en) | Regulation method and regulation device for i/o channels in virtualization platform | |
Ji et al. | Automatic,{Application-Aware}{I/O} forwarding resource allocation | |
WO2021011920A1 (en) | Arbiter circuit for commands from multiple physical functions in a memory sub-system | |
KR20190063378A (ko) | 이종 가상화 클라우드 캐시 환경에서의 동적 캐시분할 관리자 | |
CN104580194A (zh) | 面向视频应用的虚拟化资源管理方法及装置 | |
Jung et al. | Design of a host interface logic for GC-free SSDs | |
CN104063281A (zh) | 一种调控虚拟机物理内存的方法和装置 | |
CN114356237A (zh) | 一种控制方法、存储器和电子设备 | |
CN107636563A (zh) | 通过腾空cpu和存储器的子集来降低功率 | |
Guo et al. | Quality of service shared cache management in chip multiprocessor architecture | |
Kishani et al. | Padsa: Priority-aware block data storage architecture for edge cloud serving autonomous vehicles |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220725 Address after: 100089 building 36, courtyard 8, Dongbeiwang West Road, Haidian District, Beijing Patentee after: Dawning Information Industry (Beijing) Co.,Ltd. Patentee after: DAWNING INFORMATION INDUSTRY Co.,Ltd. Address before: 100193 No. 36 Building, No. 8 Hospital, Wangxi Road, Haidian District, Beijing Patentee before: Dawning Information Industry (Beijing) Co.,Ltd. |
|
TR01 | Transfer of patent right |