CN110597638A - 基于OpenStack云平台的虚拟机申请大额内存的方法 - Google Patents
基于OpenStack云平台的虚拟机申请大额内存的方法 Download PDFInfo
- Publication number
- CN110597638A CN110597638A CN201910892263.0A CN201910892263A CN110597638A CN 110597638 A CN110597638 A CN 110597638A CN 201910892263 A CN201910892263 A CN 201910892263A CN 110597638 A CN110597638 A CN 110597638A
- Authority
- CN
- China
- Prior art keywords
- memory
- applying
- virtual machine
- large amount
- linux system
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 18
- 238000005457 optimization Methods 0.000 claims abstract description 28
- 238000013467 fragmentation Methods 0.000 claims abstract description 19
- 238000006062 fragmentation reaction Methods 0.000 claims abstract description 19
- 238000012795 verification Methods 0.000 claims description 4
- 241000109539 Conchita Species 0.000 claims description 3
- 241000282326 Felis catus Species 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 description 11
- 238000012423 maintenance Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
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
-
- 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- 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
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45583—Memory management, e.g. access or allocation
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
本发明公开了一种基于OpenStack云平台虚拟机申请大额内存的方法,包括:查看LINUX系统当前的内存状态;判断当前LINUX系统内存的碎片化程度是否达到预设碎片化程度,若否,直接申请大额内存;若是,给出需要LINUX系统调整内存优化的提示;LINUX系统根据接收的提示,针对当前碎片化程度实时进行内存优化调整;内存优化调整完成后,验证优化结果,符合预定条件,则申请大额内存;若不符合预定条件,返回重新进行内存优化调整。从而在物理主机系统内存还有足够的剩余,但是内存却出现很严重的碎片化的情况时,提供虚拟申请大额内存的解决方案。
Description
技术领域
本发明涉及操作系统技术领域,尤其涉及基于OpenStack(OpenStack是一个开源的云计算管理平台项目)云平台在主机内存碎片化极为严重的情况下的虚拟机申请大额内存的方法。
背景技术
随着信息技术的发展,传统的应用正在变得越来越复杂,需要支持更多的用户、需要更强的计算能力、需要更加稳定安全等,而为了支撑这些不断增长的需求,企业不得不去购买各类硬件设备(服务器、存储、带宽等等)和软件(数据库、中间件等等),另外还需要组建一个完整的运维团队来支持这些设备或软件的正常运作,这些维护工作就包括安装、配置、测试、运行、升级以及保证系统的安全等。会发现支持这些应用的开销变得非常巨大,而且它们的费用会随着你应用的数量或规模的增加而不断提高,因此,云计算平台应运而生。
云计算技术是基于云计算平台及商业模式应用的,包括网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,灵活部署,按需使用。基于云计算核心之一的技术就是虚拟化技术,计算系统虚拟化是一切建立在“云”上的服务与应用的基础。虚拟化技术主要应用在CPU(中央处理器)、操作系统、服务器等多个方面,是提高服务效率的最佳解决方案。
基于云平台虚拟化技术的应用场景很多,在很多情况下,用户在平台上创建大量的需要大额内存的虚拟机时,由于操作需求,会有频繁的内存申请释放的操作,这样就会导致系统出现很多的小块内存,也叫碎片化的内存,这时若再次需要大额内存的虚机创建时就会发现尽管主机系统还有足够的内存可用,但是却发现申请内存的速度非常慢,甚至有申请失败的情况发生,这就是内存碎片化严重导致的严重问题。基于传统的系统配置,这种情况发生时是很难解决问题的,往往不知道问题出现的根因在什么地方,定位分析也会话费大量的时间,对人力物力也是巨大的浪费。
发明内容
本发明的目的在于提供一种基于OpenStack云平台虚拟机申请大额内存的方法,在物理主机系统内存还有足够的剩余,但是内存却出现很严重的碎片化的情况时,提供虚拟申请大额内存的解决方案。
实现上述目的的技术方案是:
一种基于OpenStack云平台虚拟机申请大额内存的方法,包括:
查看LINUX(一套免费使用和自由传播的类Unix操作系统)系统当前的内存状态;
判断当前LINUX系统内存的碎片化程度是否达到预设碎片化程度,若否,直接申请大额内存;若是,给出需要LINUX系统调整内存优化的提示;
LINUX系统根据接收的提示,针对当前碎片化程度实时进行内存优化调整;
内存优化调整完成后,验证优化结果,符合预定条件,则申请大额内存;若不符合预定条件,返回重新进行内存优化调整。
优选的,LINUX系统通过性能调优工具,结合主机和虚机的参数进行内存优化调整。
优选的,通过LINUX系统自带工具cat(linux的一个文本文件查看和连接工具)、外部工具sar(性能监控和调优工具)或者外部工具perf(linux性能分析工具)查看当前的内存状态。
优选的,所述的LINUX系统为centos(Community Enterprise Operating System,社区企业操作系统)系统、readhat(红帽)系统、ubuntu(优般图/乌班图)系统或debian(得比安)系统。
优选的,所述的预定条件指:申请大额内存验证,在预设时间阈值内完成虚拟机的创建。
优选的,所述的预设时间阈值为5秒内。
本发明的有益效果是:本发明可以在很短的时间内实现虚机快速申请大额内存,从时间成本计,目前申请大额内存在内存碎片化严重的情况下,需要半小时以上甚至无法获取到足够内存而失败,通过本发明,可在几秒内完成大额内存的申请。效率提升数倍,节约开发人员宝贵的时间成本。为虚拟机应用系统提供高质量的服务。
附图说明
图1是本发明的基于OpenStack云平台的虚拟机申请大额内存的方法的流程图。
具体实施方式
下面将结合附图对本发明作进一步说明。
请参阅图1,本发明的基于OpenStack云平台的虚拟机申请大额内存的方法,包括下列步骤:
步骤S1,查看LINUX系统当前的内存状态。LINUX系统为centos系统、readhat系统、ubuntu系统或debian系统。通过LINUX系统自带工具cat、外部工具sar或者外部工具perf查看当前的内存状态。使用简单方便。
步骤S2,判断当前LINUX系统内存的碎片化程度是否达到预设碎片化程度,若否,直接申请大额内存;若是,给出需要LINUX系统调整内存优化的提示。例如,通过cat/proc/buddyinfo方法查看最后3列指为零时,可知处于严重碎片化,即达到预设碎片化程度。
步骤S3,LINUX系统根据接收的提示,针对当前碎片化程度实时进行内存优化调整。本申请通过性能调优工具,结合主机和虚机的参数进行内存优化调整。
因为现有云平台架构虚拟机申请内存的方法是直接限制在NUMA((Non UniformMemory Access Architecture))拓扑中的某一个节点上,如果系统开启了大页内存分配方式,则在主机系统出现内存碎片化严重的情况下,新的虚拟机需要申请大额内存时会出现分配非常缓慢甚至失败的情况时长发生。本发明针对主机开启大页内存进行内存优化调整。
步骤S4,内存优化调整完成后,验证优化结果,符合预定条件,则申请大额内存;若不符合预定条件,返回重新进行内存优化调整。预定条件指:申请大额内存验证,在预设时间阈值(本实施例中为5秒内)内完成虚拟机的创建,说明符合预定条件。验证方法简单有效。
相较本发明之前的时间成本上,本发明在主机体统内存碎片化严重情况小,大额内存虚拟机申请内存的效率能从之前的半小时以上提升至几秒内完成,效率提升数倍,节约开发人员宝贵的时间成本。
以上实施例仅供说明本发明之用,而非对本发明的限制,有关技术领域的技术人员,在不脱离本发明的精神和范围的情况下,还可以作出各种变换或变型,因此所有等同的技术方案也应该属于本发明的范畴,应由各权利要求所限定。
Claims (6)
1.一种基于OpenStack云平台的虚拟机申请大额内存的方法,其特征在于,包括:
查看LINUX系统当前的内存状态;
判断当前LINUX系统内存的碎片化程度是否达到预设碎片化程度,若否,直接申请大额内存;若是,给出需要LINUX系统调整内存优化的提示;
LINUX系统根据接收的提示,针对当前碎片化程度实时进行内存优化调整;
内存优化调整完成后,验证优化结果,符合预定条件,则申请大额内存;若不符合预定条件,返回重新进行内存优化调整。
2.根据权利要求1所述的基于OpenStack云平台的虚拟机申请大块内存的方法,其特征在于,LINUX系统通过性能调优工具,结合主机和虚机的参数进行内存优化调整。
3.根据权利要求1所述的基于OpenStack云平台的虚拟机申请大块内存的方法,其特征在于,通过LINUX系统自带工具cat、外部工具sar或者外部工具perf查看当前的内存状态。
4.根据权利要求1所述的基于OpenStack云平台的虚拟机申请大块内存的方法,其特征在于,所述的LINUX系统为centos系统、readhat系统、ubuntu系统或debian系统。
5.根据权利要求1所述的基于OpenStack云平台的虚拟机申请大块内存的方法,其特征在于,所述的预定条件指:申请大额内存验证,在预设时间阈值内完成虚拟机的创建。
6.根据权利要求5所述的基于OpenStack云平台的虚拟机申请大块内存的方法,其特征在于,所述的预设时间阈值为5秒内。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910892263.0A CN110597638A (zh) | 2019-09-20 | 2019-09-20 | 基于OpenStack云平台的虚拟机申请大额内存的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910892263.0A CN110597638A (zh) | 2019-09-20 | 2019-09-20 | 基于OpenStack云平台的虚拟机申请大额内存的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110597638A true CN110597638A (zh) | 2019-12-20 |
Family
ID=68861718
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910892263.0A Pending CN110597638A (zh) | 2019-09-20 | 2019-09-20 | 基于OpenStack云平台的虚拟机申请大额内存的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110597638A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040078537A1 (en) * | 2002-10-18 | 2004-04-22 | Fulghum Patrick W. | De-fragmenting memory by re-booting based on usage |
CN101295240A (zh) * | 2008-06-03 | 2008-10-29 | 浙江大学 | 嵌入式系统中基于spm的指令缓冲的实现方法 |
CN108459898A (zh) * | 2017-02-20 | 2018-08-28 | 阿里巴巴集团控股有限公司 | 一种资源回收方法及装置 |
CN109885381A (zh) * | 2019-02-15 | 2019-06-14 | 合肥谐桐科技有限公司 | 基于kvm虚拟化实现内存份额调度管理的方法及其系统 |
-
2019
- 2019-09-20 CN CN201910892263.0A patent/CN110597638A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040078537A1 (en) * | 2002-10-18 | 2004-04-22 | Fulghum Patrick W. | De-fragmenting memory by re-booting based on usage |
CN101295240A (zh) * | 2008-06-03 | 2008-10-29 | 浙江大学 | 嵌入式系统中基于spm的指令缓冲的实现方法 |
CN108459898A (zh) * | 2017-02-20 | 2018-08-28 | 阿里巴巴集团控股有限公司 | 一种资源回收方法及装置 |
CN109885381A (zh) * | 2019-02-15 | 2019-06-14 | 合肥谐桐科技有限公司 | 基于kvm虚拟化实现内存份额调度管理的方法及其系统 |
Non-Patent Citations (2)
Title |
---|
吴昊: "面向多核系统的垃圾回收关键技术研究", 《中国博士学位论文全文数据库 信息科技辑》 * |
阎梦天等: "实时操作系统内存分配性能检测", 《计算机应用》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7138126B2 (ja) | リソース配置を最適化するための適時性リソース移行 | |
CN109067890B (zh) | 一种基于docker容器的CDN节点边缘计算系统 | |
CN108829581B (zh) | 应用程序测试方法、装置、计算机设备及存储介质 | |
US20150331715A1 (en) | Reliable and deterministic live migration of virtual machines | |
EP1643361A2 (en) | Updating software while it is running | |
US20160269479A1 (en) | Cloud virtual server scheduling method and apparatus | |
WO2016169166A1 (zh) | 虚拟机调度方法和装置 | |
EP2724244A2 (en) | Native cloud computing via network segmentation | |
CN110210845B (zh) | 用于区块链数据迁移的方法、装置、介质和计算设备 | |
CN103885833A (zh) | 一种资源管理方法和系统 | |
CN107391256A (zh) | 一种基于云计算技术的继电保护定值整定计算架构及方法 | |
US20180150365A1 (en) | Disaster Recover of Managed Systems | |
WO2016154785A1 (zh) | 一种云平台、运行应用的方法及接入网单元 | |
CN110673933A (zh) | 基于ZooKeeper的分布式异步队列实现方法、装置、设备及介质 | |
CN111858040A (zh) | 一种资源调度方法和装置 | |
CN106802790B (zh) | 基于云平台的应用用户使用信息管理的方法、设备及系统 | |
CN113282589A (zh) | 一种数据获取方法和装置 | |
CN112631994A (zh) | 数据迁移方法及系统 | |
CN110569157B (zh) | 存储测试方法、装置、服务器及存储介质 | |
CN110597638A (zh) | 基于OpenStack云平台的虚拟机申请大额内存的方法 | |
CN109995571B (zh) | 服务器配置与vnf应用匹配的方法及装置 | |
US11456919B2 (en) | Input and output for target device communication | |
Sattiraju et al. | Idrbt community cloud for indian banks | |
CN111338755A (zh) | 基于影子分身虚机的Linux云主机信息安全判定装置 | |
CN108063679B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191220 |