CN113076193B - 一种内存优化的方法、装置及计算机可读存储介质 - Google Patents
一种内存优化的方法、装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN113076193B CN113076193B CN202110326903.9A CN202110326903A CN113076193B CN 113076193 B CN113076193 B CN 113076193B CN 202110326903 A CN202110326903 A CN 202110326903A CN 113076193 B CN113076193 B CN 113076193B
- Authority
- CN
- China
- Prior art keywords
- memory
- module
- application program
- optimization
- residual
- 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
- 230000015654 memory Effects 0.000 title claims abstract description 728
- 238000005457 optimization Methods 0.000 title claims abstract description 152
- 238000000034 method Methods 0.000 title claims abstract description 75
- 238000012544 monitoring process Methods 0.000 claims abstract description 34
- 230000006870 function Effects 0.000 claims description 28
- 238000004590 computer program Methods 0.000 claims description 20
- 230000008569 process Effects 0.000 abstract description 26
- 230000000903 blocking effect Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 5
- 230000003203 everyday effect Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000015556 catabolic process Effects 0.000 description 3
- 230000003247 decreasing effect Effects 0.000 description 3
- 230000007423 decrease Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011900 installation process Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000005067 remediation Methods 0.000 description 1
- 239000007787 solid 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/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/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/5022—Mechanisms to release resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5021—Priority
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Memory System (AREA)
Abstract
本公开涉及一种内存优化的方法、装置及计算机可读存储介质,该方法包括:监测应用程序中各模块的内存开销信息;基于所述内存开销信息,确定所述各模块的内存优化优先级;基于所述内存优化优先级,进行内存释放。本公开实施例中,通过监测应用程序运行过程中各模块的内存开销信息,可确定各模块的内存优化优先级,进而基于内存优化优先级进行内存释放,可减少应用程序出现崩溃、卡顿、发烫等问题,提升用户体验。
Description
技术领域
本公开涉及内存优化技术领域,尤其涉及一种内存优化的方法、装置及计算机可读存储介质。
背景技术
在应用程序(APP)使用过程中,可能由于APP内存开销较大导致APP出现崩溃、卡顿、发烫等问题,影响用户体验。在现有的解决APP内存开销较大问题的技术方案中,大部分只能在开发过程中确定代码内存开销情况,然后进行内存开销较大问题的解决,且只能在发现问题后给出解决的方案,这种解决方案维护成本高,而且不能立刻解决内存开销较大问题。
因此,亟需提供一种内存优化的方案,以便在APP运行过程实时记录内存开销并进行内存优化,减少APP出现崩溃、卡顿、发烫等问题,提升用户体验。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本公开提供了一种内存优化的方法、装置及计算机可读存储介质。
本公开第一方面提供了一种内存优化的方法,该方法包括:
监测应用程序中各模块的内存开销信息;
基于内存开销信息,确定各模块的内存优化优先级;
基于内存优化优先级,进行内存释放。
进一步地,基于内存开销信息,确定各模块的内存优化优先级之前,该方法还包括:
获取应用程序的最大使用内存;
基于最大使用内存和内存开销信息,判断是否进行内存优化;
若进行内存优化,则执行基于内存开销信息,确定内存优化优先级。
进一步地,最大使用内存为应用程序申请的内存容量,或为应用程序的剩余内存容量,或为设备的剩余内存容量;
其中,应用程序安装在所述设备中;设备的剩余内存容量为基于设备的总内存容量和设备已分配的内存容量计算得到。
进一步地,基于最大使用内存和所述各模块的内存开销信息,判断是否进行内存优化包括:
基于最大使用内存和各模块的内存开销信息,确定进行内存优化的内存剩余阈值;
在确定所述内存剩余阈值后,实时监测所述各模块的内存开销信息,得到所述应用程序在确定所述内存剩余阈值后的内存总开销;基于所述内存总开销,计算所述应用程序的剩余内存容量;
在所述应用程序的剩余内存容量小于或等于内存剩余阈值后,确定进行内存优化。
进一步地,基于最大使用内存和各模块的内存开销信息,确定进行内存优化的内存剩余阈值,包括:
基于最大使用内存和各模块的内存开销信息,确定应用程序的剩余内存容量;
基于应用程序的剩余内存容量,确定进行内存优化的内存剩余阈值。
进一步地,内存剩余阈值为应用程序的剩余内存容量的预设倍数;其中,所述预设倍数大于0且小于1。
进一步地,各模块的内存优化优先级包括:
内存开销较大且较长时间不使用的模块>较长时间不使用的模块>内存开销较大的模块>当前使用模块之外的所有模块>当前使用模块的较长时间未使用功能。
进一步地,基于内存优化优先级,进行内存释放包括:
基于内存优化优先级由高至低的顺序依次进行内存释放,直至内存释放后应用程序的剩余内存容量大于内存剩余阈值,停止内存释放。
进一步地,方法还包括:
在进行内存释放的同时,记录内存释放对应的模块信息。
进一步地,方法还包括:
将内存释放对应的模块信息上传至云端。
本公开的第二方面提供了一种内存优化的装置,该装置包括:
监测模块,用于监测应用程序中各模块的内存开销信息;
确定模块,用于基于内存开销信息,确定各模块的内存优化优先级;
释放模块,用于基于内存优化优先级,进行内存释放。
进一步地,该装置还包括:
获取模块,用于获取应用程序的最大使用内存;
判断模块,用于基于最大使用内存和内存开销信息,判断是否进行内存优化;
确定模块,用于判断模块确定进行内存优化后,基于内存开销信息,确定各模块的内存优化优先级。
进一步地,判断模块具体用于:
基于最大使用内存和各模块的内存开销信息,确定进行内存优化的内存剩余阈值;
在确定所述内存剩余阈值后,实时监测所述各模块的内存开销信息,得到所述应用程序在确定所述内存剩余阈值后的内存总开销;基于所述内存总开销,计算所述应用程序的剩余内存容量;
在所述应用程序的剩余内存容量小于或等于内存剩余阈值后,进行内存优化。
本公开的第三方面提供了一种计算机装置,该计算机装置包括处理器,处理器用于执行存储器中存储的计算机程序时实现如上述方案中任一项所述方法的步骤。
本公开的第四方面提供了一种可读存储介质,其上存储有计算机程序,该可读存储介质包括:计算机程序被处理器执行时实现如上述方案中任一项所述方法的步骤。
本公开实施例提供的一个或多个技术方案,至少具有如下效果或优点:
采用本公开提供的技术方案,监测应用程序中各模块的内存开销信息;基于各模块的内存开销信息,确定各模块的内存优化优先级;基于各模块的内存优化优先级,进行内存释放。相比于现有技术,在本公开实施例中,通过监测应用程序运行过程中各模块的内存开销信息,可确定各模块的内存优化优先级,进而基于内存优化优先级进行内存释放,可减少APP出现崩溃、卡顿、发烫等问题,提升用户体验。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本公开提供的一种内存优化的方法的流程图;
图2为本公开提供的另一种内存优化的方法的流程图;
图3为本公开提供的一种内存优化的装置的框图;
图4为本公开提供的一种计算机装置的示意图。
具体实施方式
为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
本公开实施例提供了一种内存优化的方法、装置及计算机可读存储介质,本公开的实施例的是基于内存管理插件,是用户在用户终端安装APP的同时,潜在的安装了该APP的内存管理插件,此插件不会出现在手机界面当中,会和该APP绑定,整个安装过程中用户是无感的,同样在卸载时,该内存管理插件与APP同时卸载,从而保证APP运行安全。上述用户终端为用户可操作的任意电子设备,例如可以为智能手机、平板电脑等移动式的手持设备,又例如可以为台式计算机、智能电视等固定式的电子设备。应当理解的是,本申请的方法的应用场景可以是手机、同样也可以是车机。而本申请的方法的应用场景仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以将本申请应用于其他类似情景。以下为了能够更清楚无误的阐述,本公开实施例以手持设备为例对内存的优化方法、装置及计算机存储介质进行说明。
为了便于理解本公开的技术方案,首先对本公开涉及的专业技术进行解释:
云端:云端是一款采用应用程序虚拟化技术(Application Virtualization)的软件平台,集软件搜索、下载、使用、管理、备份等多种功能为一体。
热修复(hotfix):预先在服务器配置需要更新的代码,从服务端推送到客户端进行更新代码,客户端无需重新安装,即可更新软件。
图1是提供的一种内存优化的方法的流程图。
结合图1,本公开的至少一个实施例提供了一种内存优化的方法,包括如下四个步骤101至103:
101:监测应用程序中各模块的内存开销信息。本实施例中,应用程序可包括多个功能模块,例如车辆控制相关模块、社区模块等。在应用程序使用过程中,应用程序包括的各模块所使用的内存大小不同,因此,本实施例中监测应用程序中各模块的内存开销信息。
102:基于各模块的内存开销信息,确定各模块的内存优化优先级。
在本实施例中,各模块的内存优化优先级包括:内存开销较大且较长时间不使用的模块>较长时间不使用的模块>内存开销较大的模块>当前使用模块之外的所有模块>当前使用模块的较长时间未使用功能。
具体的,在APP的运行过程中,对各模块不使用的时间长短进行排序、对内存开销的大小进行排序,根据模块使用时间长短和内存大小,将各模块划分成内存开销较大且较长时间不使用的模块、较长时间不使用的模块、内存开销较大的模块、当前使用模块之外的所有模块和当前使用模块的较长时间未使用功能,各个模块的内存优化优先级依次递减。
103:基于各模块的内存优化优先级,进行内存释放。
在本实施例中,基于各模块的内存优化优先级,进行内存释放包括:基于内存优化优先级由高至低的顺序依次进行内存释放,直至内存释放后应用程序的剩余内存容量大于内存剩余阈值,停止内存释放。
具体的,例如假设第一个模块为内存开销较大且较长时间不使用的模块,第二模块为较长时间不使用的模块,第三模块为内存开销较大的模块,第四模块为当前使用模块之外的所有模块,第五模块为当前使用模块的较长时间未使用功能,则内存优化优先级为第一模块>第二模块>第三模块>第四模块>第五模块,在释放过程中,若APP的剩余内存容量大于30M×20%=6M时,停止内存释放。例如内存释放过程中先对第一模块进行释放,并判断此时的APP的剩余内存容量是否大于6M,若大于6M则停止内存释放;若此时APP的剩余内存容量小于6M则对第二模块进行释放,并判断此时APP的剩余内存容量是否大于6M,若大于6M则停止内存释放,若此时APP的剩余内存容量小于6M则对第三模块进行释放;以此类推。
本公开通过对内存优化优先级的确定,能够有效降低对当前使用模块的影响,在保证当前使用模块不被影响的情况下,优化APP的内存,提升APP的运行流场,提高用户的体验。
在一些实施例中,步骤102之前,该方法还可包括1011和1012:
1011:获取应用程序的最大使用内存。最大使用内存为应用程序申请的内存容量,或为应用程序的剩余内存容量,或为设备的剩余内存容量;其中,应用程序安装在设备中;设备的剩余内存容量为基于设备的总内存容量和设备已分配的内存容量计算得到。
具体的,本公开实施例中在用户打开APP后,内存管理插件会获取手机的基本信息,包括型号信息、内存信息、***版本信息等,手机的型号和***版本仅用于在后续优化APP过程中使用,其中获取的内存信息为APP的最大使用内存,其中,最大使用内存为APP申请的内存容量,或为APP的剩余内存容量,或为设备的剩余内存容量;其中,APP安装在设备中;设备的剩余内存容量为基于设备的总内存容量和设备已分配的内存容量计算得到的剩余内存容量。例如,在实际应用中可根据实际需要或APP请求,分配不同大小的内存给APP使用,如手机内存为256M,当前其他APP使用内存为156M,那么剩下的内存为100M,分配给了APP使用内存50M即为此时获取的APP的最大使用内存。根据获取的APP的整个内存情况,内存管理插件会实时监控APP中各个模块的内存开销信息。
1012:基于最大使用内存和内存开销信息,判断是否进行内存优化;若进行内存优化,则执行基于所述内存开销信息,确定内存优化优先级。
在本实施例中,基于最大使用内存和内存开销信息,判断是否进行内存优化包括:基于最大使用内存和各模块的内存开销信息,确定进行内存优化的内存剩余阈值;在确定内存剩余阈值后,实时监测各模块的内存开销信息,得到应用程序在确定内存剩余阈值后的内存总开销;基于内存总开销,计算应用程序的剩余内存容量;在应用程序的剩余内存容量小于或等于内存剩余阈值后,确定进行内存优化。
基于最大使用内存和各模块的内存开销信息,确定进行内存优化的内存剩余阈值包括:基于最大使用内存和各模块的内存开销信息,确定应用程序的剩余内存容量;基于应用程序的剩余内存容量,确定进行内存优化的内存剩余阈值。
内存剩余阈值为应用程序的剩余内存容量的预设倍数;其中,预设倍数大于0且小于1。
具体的,结合APP的内存使用情况,设置APP的进行内存优化的预设倍数为20%,例如分配给APP的最大使用内存是50M,假设APP有5个模块,第一个模块使用了5M的内存,第二个模块使用了4M的内存,第三个模块使用了6M的内存,第四个模块使用了3M的内存,第五个模块使用了2M的内存,各模块一共使用的内存为20M,则APP的剩余内存容量为30M,设置APP的内存剩余阈值为30M×20%=6M,此时APP继续运行,内存开销会逐渐增大,当APP内存总开销为24M,即当剩余内存容量为6M时,等于内存剩余阈值,确定进行内存优化。图2是本公开实施例提供的另一种内存优化的方法的流程图。
结合图2,本实施例中,内存优化的方法包括步骤201、2011、2012、202和203,其中,步骤201、步骤2012中“基于内存开销信息,确定内存优化优先级”以及步骤203分别与图1中的步骤101、102和103相同,为避免重复,不再赘述。
本实施例中,与图1的区别在于,在步骤203停止内存释放后,本实施例的方法还包括:
在应用程序运行过程中,重复执行:
201:监测应用程序中各模块的内存开销信息;
2011:获取所述应用程序的最大使用内存;其中,应用程序的最大使用内存为内存释放后所述应用程序的剩余内存容量;
2012:基于最大使用内存和内存开销信息,判断是否进行内存优化;若进行内存优化,则执行基于内存开销信息,确定内存优化优先级;
202:基于各模块的内存开销信息,确定各模块的内存优化优先级;
203:基于各模块的内存优化优先级,进行内存释放。
具体的,分配不同大小的内存给APP使用,如手机内存为256M,当前其他APP使用内存为156M,那么剩下的内存为100M,分配给了APP使用内存50M即为此时获取的APP的最大使用内存。假设,APP的最大使用内存为50M,APP各模块一共使用了20M的内存容量,剩余内存容量为30M;随着APP继续运行,剩余内存容量会逐渐减少,当剩余内存容量为30M×20%=6M时,进行内存优化,若释放了内存容量为14M,总剩余内存容量为20M;APP继续运行,当剩余内存容量为20M×20%=4M时,再次进行内存优化;以此类推。当每次进行内存优化时,对APP各模块的内存使用情况进行优先级排序,按优先级由高至低以此进行释放,直至满足总剩余内存容量大于内存剩余阈值。
本实施例中,内存优化的方法还可包括图2中未示出的以下步骤:
204:在进行内存释放的同时,记录内存释放对应的模块信息;
205:并将内存释放对应的模块信息上传至云端。
具体的,在内存释放时,记录APP中各模块的内存使用情况,各模块的内存释放优化优先级,设备的基本信息包括型号、***版本等,释放机制的执行情况包括释放内存过程和释放内存结果等;通过内存管理插件生成文本数据,上传至云端,后期APP会根据内存管理插件生成的文本数据报告来定位问题,此时是人工定位问题,APP仅负责将文本数据进行上传,方便后期开发者利用此文本数据进行APP优化。后期开发人员会将APP优化方案通过云端存储,此优化方案可以动态更新到内存管理插件中,使得内存管理插件更加精准的跟踪,并方便开发人员解决问题。
具体的,内存管理插件会根据APP的运行数据生成对应的文本数据报告,该文本数据报告会每天定时上传至云端;云端同样也可以手动调取内存管理插件的文本数据报告,通过发送指令给内存管理插件从而将日志回捞到云端。
本公开根据内存管理插件实时监控整个APP的内存情况,会强制释放掉APP内存开销较大的模块,来确保整个APP的内存分配合理,不被某个模块的内存影响整个APP的体验,释放内存对用户是无感知的,只会将使用过的功能但是内存却没及时释放的模块进行内存释放优化。如用户正在使用车辆控制相关模块的功能,但是由于此前用户使用过社区模块,而社区模块内存没有来得及释放,那么此时为了确保当前业务功能体验最佳,会及时将之前的社区模块内存进行释放;释放内存的同时记录内存开销较大的模块,每天定时将APP数据同步给云端,统计问题点,方便后期优化APP。
图3提供的一种内存优化的装置的框图。
结合图3,本发明实施例还提供了一种内存优化的装置300,具体包括:
监测模块301,用于监测应用程序中各模块的内存开销信息。本实施例中,应用程序可包括多个功能模块,例如车辆控制相关模块、社区模块等。在应用程序使用过程中,应用程序包括的各模块所使用的内存大小不同,因此,本实施例中监测应用程序中各模块的内存开销信息。
确定模块302,用于基于内存开销信息,确定各模块的内存优化优先级。
在本实施例中,各模块的内存优化优先级包括:内存开销较大且较长时间不使用的模块>较长时间不使用的模块>内存开销较大的模块>当前使用模块之外的所有模块>当前使用模块的较长时间未使用功能。
具体的,在APP的运行过程中,对各模块不使用的时间长短进行排序、对内存开销的大小进行排序,根据模块使用时间长短和内存大小,将各模块划分成内存开销较大且较长时间不使用的模块、较长时间不使用的模块、内存开销较大的模块、当前使用模块之外的所有模块和当前使用模块的较长时间未使用功能,各个模块的内存优化优先级依次递减。
释放模块303,用于基于内存优化优先级,进行内存释放。
在本实施例中,基于各模块的内存优化优先级,进行内存释放包括:基于内存优化优先级由高至低的顺序依次进行内存释放,直至内存释放后应用程序的剩余内存容量大于内存剩余阈值,停止内存释放。
具体的,例如假设第一个模块为内存开销较大且较长时间不使用的模块,第二模块为较长时间不使用的模块,第三模块为内存开销较大的模块,第四模块为当前使用模块之外的所有模块,第五模块为当前使用模块的较长时间未使用功能,则内存优化优先级为第一模块>第二模块>第三模块>第四模块>第五模块,在释放过程中,若APP的剩余内存容量大于30M×20%=6M时,停止内存释放。例如内存释放过程中先对第一模块进行释放,并判断此时的APP的剩余内存容量是否大于6M,若大于6M则停止内存释放;若此时APP的剩余内存容量小于6M则对第二模块进行释放,并判断此时APP的剩余内存容量是否大于6M,若大于6M则停止内存释放,若此时APP的剩余内存容量小于6M则对第三模块进行释放;以此类推。
本公开通过对内存优化优先级的确定,能够有效降低对当前使用模块的影响,在保证当前使用模块不被影响的情况下,优化APP的内存,提升APP的运行流场,提高用户的体验。
在一些实施例中,该装置还可包括:获取模块和判断模块。
获取模块,用于获取应用程序的最大使用内存。
最大使用内存为应用程序申请的内存容量,或为应用程序的剩余内存容量,或为设备的剩余内存容量;其中,应用程序安装在设备中;设备的剩余内存容量为基于设备的总内存容量和设备已分配的内存容量计算得到。
具体的,本公开实施例中在用户打开APP后,内存管理插件会获取手机的基本信息,包括型号信息、内存信息、***版本信息等,手机的型号和***版本仅用于在后续优化APP过程中使用,其中获取的内存信息为APP的最大使用内存,其中,最大使用内存为APP申请的内存容量,或为APP的剩余内存容量,或为设备的剩余内存容量;其中,APP安装在设备中;设备的剩余内存容量为基于设备的总内存容量和设备已分配的内存容量计算得到的剩余内存容量。例如,在实际应用中可根据实际需要或APP请求,分配不同大小的内存给APP使用,如手机内存为256M,当前其他APP使用内存为156M,那么剩下的内存为100M,分配给了APP使用内存50M即为此时获取的APP的最大使用内存。根据获取的APP的整个内存情况,内存管理插件会实时监控APP中各个模块的内存开销信息。
判断模块,用于基于最大使用内存和内存开销信息,判断是否进行内存优化。
在本实施例中,判断模块具体用于:基于最大使用内存和各模块的内存开销信息,确定进行内存优化的内存剩余阈值;在确定内存剩余阈值后,实时监测各模块的内存开销信息,得到应用程序在确定内存剩余阈值后的内存总开销;基于内存总开销,计算应用程序的剩余内存容量;在应用程序的剩余内存容量小于或等于内存剩余阈值后,确定进行内存优化。
基于最大使用内存和各模块的内存开销信息,确定进行内存优化的内存剩余阈值包括:基于最大使用内存和各模块的内存开销信息,确定应用程序的剩余内存容量;基于应用程序的剩余内存容量,确定进行内存优化的内存剩余阈值。
内存剩余阈值为应用程序的剩余内存容量的预设倍数;其中,预设倍数大于0且小于1。
具体的,结合APP的内存使用情况,设置APP的进行内存优化的预设倍数为20%,例如分配给APP的最大使用内存是50M,假设APP有5个模块,第一个模块使用了5M的内存,第二个模块使用了4M的内存,第三个模块使用了6M的内存,第四个模块使用了3M的内存,第五个模块使用了2M的内存,各模块一共使用的内存为20M,则APP的剩余内存容量为30M,设置APP的内存剩余阈值为30M×20%=6M,此时APP继续运行,内存开销会逐渐增大,当APP内存总开销为24M,即当剩余内存容量为6M时,等于内存剩余阈值,确定进行内存优化。
确定模块302,用于判断模块确定进行内存优化后,基于内存开销信息,确定各模块的内存优化优先级。
在一些实施例中,释放模块303停止内存释放后,监测模块301在应用程序运行过程中,继续监测应用程序中各模块的内存开销信息。获取模块会获取应用程序的最大使用内存,此时最大使用内存为释放模块303停止内存释放后应用程序的剩余内存容量。判断模块会基于最大使用内存和内存开销信息,判断是否进行内存优化。确定模块在判断模块确定进行内存优化后,基于内存开销信息,确定各模块的内存优化优先级。释放模块303基于各模块的内存优化优先级,进行内存释放。需要说明的是,监测模块301在应用程序停止运行后,停止监测应用程序中各模块的内存开销信息。
具体的,分配不同大小的内存给APP使用,如手机内存为256M,当前其他APP使用内存为156M,那么剩下的内存为100M,分配给了APP使用内存50M即为此时获取的APP的最大使用内存。假设,APP的最大使用内存为50M,APP各模块一共使用了20M的内存容量,剩余内存容量为30M;随着APP继续运行,剩余内存容量会逐渐减少,当剩余内存容量为30M×20%=6M时,进行内存优化,若释放了内存容量为14M,总剩余内存容量为20M;APP继续运行,当剩余内存容量为20M×20%=4M时,再次进行内存优化;以此类推。当每次进行内存优化时,对APP各模块的内存使用情况进行优先级排序,按优先级由高至低以此进行释放,直至满足总剩余内存容量大于内存剩余阈值。
本实施例中,该装置还可包括以下模块:
记录模块,用于在释放模块303进行内存释放的同时,记录内存释放对应的模块信息。
上传模块,用于将释放模块303内存释放对应的模块信息上传至云端。
具体的,在内存释放时,记录APP中各模块的内存使用情况,各模块的内存释放优化优先级,设备的基本信息包括型号、***版本等,释放机制的执行情况包括释放内存过程和释放内存结果等;通过内存管理插件生成文本数据,上传至云端,后期APP会根据内存管理插件生成的文本数据报告来定位问题,此时是人工定位问题,APP仅负责将文本数据进行上传,方便后期开发者利用此文本数据进行APP优化。后期开发人员会将APP优化方案通过云端存储,此优化方案可以动态更新到内存管理插件中,使得内存管理插件更加精准的跟踪,并方便开发人员解决问题。
具体的,内存管理插件会根据APP的运行数据生成对应的文本数据报告,该文本数据报告会每天定时上传至云端;云端同样也可以手动调取内存管理插件的文本数据报告,通过发送指令给内存管理插件从而将日志回捞到云端。
本公开根据内存管理插件实时监控整个APP的内存情况,会强制释放掉APP内存开销较大的模块,来确保整个APP的内存分配合理,不被某个模块的内存影响整个APP的体验,释放内存对用户是无感知的,只会将使用过的功能但是内存却没及时释放的模块进行内存释放优化。如用户正在使用车辆控制相关模块的功能,但是由于此前用户使用过社区模块,而社区模块内存没有来得及释放,那么此时为了确保当前业务功能体验最佳,会及时将之前的社区模块内存进行释放;释放内存的同时记录内存开销较大的模块,每天定时将APP数据同步给云端,统计问题点,方便后期优化APP。
图4为本发明实施例三提供的一种计算机装置的示意图。该实施例的计算机装置包括:处理器401、存储器402以及存储在所述存储器中并可在所述处理器上运行的计算机程序,例如实施例中内存优化的方法对应的程序。处理器执行所述计算机程序时实现上述实施例内存优化的方法中的步骤。或者,处理器执行所述计算机程序时实现上述实施例的内存优化装置中各模块/单元的功能,例如图3所示的监测模块301、确定模块302和释放模块303的功能。
示例性的,计算机程序可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器中,并由处理器执行,以完成本发明。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序在计算机装置中的执行过程。例如,计算机程序可以被分割成监测模块301、确定模块302和释放模块303的功能,各模块的具体功能如下:
监测模块301,用于监测应用程序中各模块的内存开销信息。本实施例中,应用程序可包括多个功能模块,例如车辆控制相关模块、社区模块等。在应用程序使用过程中,应用程序包括的各模块所使用的内存大小不同,因此,本实施例中监测应用程序中各模块的内存开销信息。
确定模块302,用于基于内存开销信息,确定各模块的内存优化优先级。在本实施例中,各模块的内存优化优先级包括:内存开销较大且较长时间不使用的模块>较长时间不使用的模块>内存开销较大的模块>当前使用模块之外的所有模块>当前使用模块的较长时间未使用功能。
释放模块303,用于基于内存优化优先级,进行内存释放。在本实施例中,基于各模块的内存优化优先级,进行内存释放包括:基于内存优化优先级由高至低的顺序依次进行内存释放,直至内存释放后应用程序的剩余内存容量大于内存剩余阈值,停止内存释放。
在一些实施例中,该装置还可包括:获取模块和判断模块。
获取模块,用于获取应用程序的最大使用内存。
最大使用内存为应用程序申请的内存容量,或为应用程序的剩余内存容量,或为设备的剩余内存容量;其中,应用程序安装在设备中;设备的剩余内存容量为基于设备的总内存容量和设备已分配的内存容量计算得到。
判断模块,用于基于最大使用内存和内存开销信息,判断是否进行内存优化。
在本实施例中,判断模块具体用于:基于最大使用内存和各模块的内存开销信息,确定进行内存优化的内存剩余阈值;在确定内存剩余阈值后,实时监测各模块的内存开销信息,得到应用程序在确定内存剩余阈值后的内存总开销;基于内存总开销,计算应用程序的剩余内存容量;在应用程序的剩余内存容量小于或等于内存剩余阈值后,确定进行内存优化。
基于最大使用内存和各模块的内存开销信息,确定进行内存优化的内存剩余阈值包括:基于最大使用内存和各模块的内存开销信息,确定应用程序的剩余内存容量;基于应用程序的剩余内存容量,确定进行内存优化的内存剩余阈值。
内存剩余阈值为应用程序的剩余内存容量的预设倍数;其中,预设倍数大于0且小于1。
确定模块302,用于判断模块确定进行内存优化后,基于内存开销信息,确定各模块的内存优化优先级。
在一些实施例中,释放模块303停止内存释放后,监测模块301在应用程序运行过程中,继续监测应用程序中各模块的内存开销信息。获取模块会获取应用程序的最大使用内存,此时最大使用内存为释放模块303停止内存释放后应用程序的剩余内存容量。判断模块会基于最大使用内存和内存开销信息,判断是否进行内存优化。确定模块在判断模块确定进行内存优化后,基于内存开销信息,确定各模块的内存优化优先级。释放模块303基于各模块的内存优化优先级,进行内存释放。需要说明的是,监测模块301在应用程序停止运行后,停止监测应用程序中各模块的内存开销信息。
本实施例中,该装置还可包括以下模块:
记录模块,用于在释放模块303进行内存释放的同时,记录内存释放对应的模块信息。
上传模块,用于将释放模块303内存释放对应的模块信息上传至云端。
计算机装置可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。计算机装置可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,示意图4仅仅是计算机装置的示例,并不构成对计算机装置的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如计算机装置还可以包括输入输出设备、网络接入设备、总线等。
处理器401可以是中央处理单元(Central Proceing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital ignalProceor,DP)、专用集成电路(Applicationpecific Integrated Circuit,AIC)、现成可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,处理器是计算机装置的控制中心,利用各种接口和线路连接整个计算机装置的各个部分。
存储器402可用于存储计算机程序和/或模块,处理器通过运行或执行存储在存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现计算机装置的各种功能。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(martMedia Card,MC),安全数字(ecureDigital,D)卡,闪存卡(Flah Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
其中,计算机程序可以被分割成监测模块301、确定模块302和释放模块303的功能,各模块的具体功能如下:
监测模块301,用于监测应用程序中各模块的内存开销信息。本实施例中,应用程序可包括多个功能模块,例如车辆控制相关模块、社区模块等。在应用程序使用过程中,应用程序包括的各模块所使用的内存大小不同,因此,本实施例中监测应用程序中各模块的内存开销信息。
确定模块302,用于基于内存开销信息,确定各模块的内存优化优先级。在本实施例中,各模块的内存优化优先级包括:内存开销较大且较长时间不使用的模块>较长时间不使用的模块>内存开销较大的模块>当前使用模块之外的所有模块>当前使用模块的较长时间未使用功能。
释放模块303,用于基于内存优化优先级,进行内存释放。在本实施例中,基于各模块的内存优化优先级,进行内存释放包括:基于内存优化优先级由高至低的顺序依次进行内存释放,直至内存释放后应用程序的剩余内存容量大于内存剩余阈值,停止内存释放。
在一些实施例中,该装置还可包括:获取模块和判断模块。
获取模块,用于获取应用程序的最大使用内存。
最大使用内存为应用程序申请的内存容量,或为应用程序的剩余内存容量,或为设备的剩余内存容量;其中,应用程序安装在设备中;设备的剩余内存容量为基于设备的总内存容量和设备已分配的内存容量计算得到。
判断模块,用于基于最大使用内存和内存开销信息,判断是否进行内存优化。
在本实施例中,判断模块具体用于:基于最大使用内存和各模块的内存开销信息,确定进行内存优化的内存剩余阈值;在确定内存剩余阈值后,实时监测各模块的内存开销信息,得到应用程序在确定内存剩余阈值后的内存总开销;基于内存总开销,计算应用程序的剩余内存容量;在应用程序的剩余内存容量小于或等于内存剩余阈值后,确定进行内存优化。
基于最大使用内存和各模块的内存开销信息,确定进行内存优化的内存剩余阈值包括:基于最大使用内存和各模块的内存开销信息,确定应用程序的剩余内存容量;基于应用程序的剩余内存容量,确定进行内存优化的内存剩余阈值。
内存剩余阈值为应用程序的剩余内存容量的预设倍数;其中,预设倍数大于0且小于1。
确定模块302,用于判断模块确定进行内存优化后,基于内存开销信息,确定各模块的内存优化优先级。
在一些实施例中,释放模块303停止内存释放后,监测模块301在应用程序运行过程中,继续监测应用程序中各模块的内存开销信息。获取模块会获取应用程序的最大使用内存,此时最大使用内存为释放模块303停止内存释放后应用程序的剩余内存容量。判断模块会基于最大使用内存和内存开销信息,判断是否进行内存优化。确定模块在判断模块确定进行内存优化后,基于内存开销信息,确定各模块的内存优化优先级。释放模块303基于各模块的内存优化优先级,进行内存释放。需要说明的是,监测模块301在应用程序停止运行后,停止监测应用程序中各模块的内存开销信息。
本实施例中,该装置还可包括以下模块:
记录模块,用于在释放模块303进行内存释放的同时,记录内存释放对应的模块信息。
上传模块,用于将释放模块303内存释放对应的模块信息上传至云端。
本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Acce Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (8)
1.一种内存优化的方法,其特征在于,所述方法包括:
监测得到应用程序中各模块的初始内存开销信息;
获取所述应用程序的最大使用内存,所述最大使用内存为所述应用程序申请的内存容量;
基于所述最大使用内存和各模块的初始内存开销信息,确定所述应用程序的初始剩余内存容量;
计算预设倍数的所述初始剩余内存容量作为内存剩余阈值,所述预设倍数大于0且小于1;
监测所述各模块的实时内存开销信息,得到所述应用程序在确定所述内存剩余阈值后的实时内存总开销;
基于所述最大使用内存和所述实时内存总开销,计算所述应用程序的实时剩余内存容量;
在所述实时剩余内存容量小于或等于所述内存剩余阈值后,确定进行内存优化;
基于所述实时内存开销信息,确定所述各模块的内存优化优先级;
基于所述内存优化优先级,进行内存释放。
2.根据权利要求1所述的方法,其特征在于,所述各模块的内存优化优先级包括:
内存开销较大且较长时间不使用的模块>较长时间不使用的模块>内存开销较大的模块>当前使用模块之外的所有模块>当前使用模块的较长时间未使用功能。
3.根据权利要求1所述的方法,其特征在于,所述基于所述内存优化优先级,进行内存释放包括:
基于内存优化优先级由高至低的顺序依次进行内存释放,直至所述内存释放后所述应用程序的实时剩余内存容量大于所述内存剩余阈值,停止内存释放。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述进行内存释放的同时,记录所述内存释放对应的模块信息。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
将所述内存释放对应的模块信息上传至云端。
6.一种内存优化的装置,其特征在于,所述装置包括:
监测模块,用于监测得到应用程序中各模块的初始内存开销信息;监测所述各模块的实时内存开销信息,得到所述应用程序在确定内存剩余阈值后的实时内存总开销;
获取模块,用于获取所述应用程序的最大使用内存,所述最大使用内存为所述应用程序申请的内存容量;
判断模块,用于基于所述最大使用内存和各模块的初始内存开销信息,确定所述应用程序的初始剩余内存容量;计算预设倍数的所述初始剩余内存容量作为内存剩余阈值,所述预设倍数大于0且小于1;
基于所述最大使用内存和所述实时内存总开销,计算所述应用程序的实时剩余内存容量;在所述实时剩余内存容量小于或等于所述内存剩余阈值后,确定进行内存优化;
确定模块,用于基于所述实时内存开销信息,确定所述各模块的内存优化优先级;
释放模块,用于基于所述内存优化优先级,进行内存释放。
7.一种计算机装置,其特征在于,包括:所述计算机装置包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如权利要求1-5中任一项所述方法的步骤。
8.一种可读存储介质,其上存储有计算机程序,其特征在于,包括:所述计算机程序被处理器执行时实现如权利要求1-5中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110326903.9A CN113076193B (zh) | 2021-03-26 | 2021-03-26 | 一种内存优化的方法、装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110326903.9A CN113076193B (zh) | 2021-03-26 | 2021-03-26 | 一种内存优化的方法、装置及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113076193A CN113076193A (zh) | 2021-07-06 |
CN113076193B true CN113076193B (zh) | 2024-03-26 |
Family
ID=76610523
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110326903.9A Active CN113076193B (zh) | 2021-03-26 | 2021-03-26 | 一种内存优化的方法、装置及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113076193B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101847127A (zh) * | 2010-06-18 | 2010-09-29 | 福建星网锐捷网络有限公司 | 一种内存管理方法及装置 |
CN103365721A (zh) * | 2012-04-06 | 2013-10-23 | 腾讯科技(深圳)有限公司 | 调整移动终端内存的方法及该移动终端 |
CN103645955A (zh) * | 2013-12-16 | 2014-03-19 | 百度在线网络技术(北京)有限公司 | 应用程序的运行管理方法和装置 |
CN105975348A (zh) * | 2016-05-31 | 2016-09-28 | 宇龙计算机通信科技(深圳)有限公司 | 一种内存优化方法、优化装置以及终端 |
CN107608823A (zh) * | 2017-08-25 | 2018-01-19 | 维沃移动通信有限公司 | 一种照片处理方法及移动终端 |
CN109324883A (zh) * | 2018-08-29 | 2019-02-12 | 烽火通信科技股份有限公司 | 智能终端设备的内存管理方法及*** |
CN109669877A (zh) * | 2018-12-11 | 2019-04-23 | 腾讯科技(深圳)有限公司 | 内存管理方法、装置、终端及存储介质 |
CN109726069A (zh) * | 2018-05-07 | 2019-05-07 | 平安普惠企业管理有限公司 | H5页面内存占用监测方法、装置、设备及可读存储介质 |
CN110221921A (zh) * | 2019-06-13 | 2019-09-10 | 深圳Tcl新技术有限公司 | 内存管理方法、终端及计算机可读存储介质 |
CN110515721A (zh) * | 2018-05-22 | 2019-11-29 | 中兴通讯股份有限公司 | 一种应用管理方法、装置、终端及计算机存储介质 |
WO2019238124A1 (zh) * | 2018-06-15 | 2019-12-19 | 奇酷互联网络科技(深圳)有限公司 | 内存管理方法、装置、可读存储介质及终端 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10204059B2 (en) * | 2016-09-29 | 2019-02-12 | International Business Machines Corporation | Memory optimization by phase-dependent data residency |
CN110751974A (zh) * | 2018-07-23 | 2020-02-04 | 爱思开海力士有限公司 | 存储器***和用于优化读取阈值的方法 |
-
2021
- 2021-03-26 CN CN202110326903.9A patent/CN113076193B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101847127A (zh) * | 2010-06-18 | 2010-09-29 | 福建星网锐捷网络有限公司 | 一种内存管理方法及装置 |
CN103365721A (zh) * | 2012-04-06 | 2013-10-23 | 腾讯科技(深圳)有限公司 | 调整移动终端内存的方法及该移动终端 |
CN103645955A (zh) * | 2013-12-16 | 2014-03-19 | 百度在线网络技术(北京)有限公司 | 应用程序的运行管理方法和装置 |
CN105975348A (zh) * | 2016-05-31 | 2016-09-28 | 宇龙计算机通信科技(深圳)有限公司 | 一种内存优化方法、优化装置以及终端 |
CN107608823A (zh) * | 2017-08-25 | 2018-01-19 | 维沃移动通信有限公司 | 一种照片处理方法及移动终端 |
CN109726069A (zh) * | 2018-05-07 | 2019-05-07 | 平安普惠企业管理有限公司 | H5页面内存占用监测方法、装置、设备及可读存储介质 |
CN110515721A (zh) * | 2018-05-22 | 2019-11-29 | 中兴通讯股份有限公司 | 一种应用管理方法、装置、终端及计算机存储介质 |
WO2019238124A1 (zh) * | 2018-06-15 | 2019-12-19 | 奇酷互联网络科技(深圳)有限公司 | 内存管理方法、装置、可读存储介质及终端 |
CN109324883A (zh) * | 2018-08-29 | 2019-02-12 | 烽火通信科技股份有限公司 | 智能终端设备的内存管理方法及*** |
CN109669877A (zh) * | 2018-12-11 | 2019-04-23 | 腾讯科技(深圳)有限公司 | 内存管理方法、装置、终端及存储介质 |
CN110221921A (zh) * | 2019-06-13 | 2019-09-10 | 深圳Tcl新技术有限公司 | 内存管理方法、终端及计算机可读存储介质 |
Non-Patent Citations (3)
Title |
---|
Dynamic memory balancing for virtual machines;Weiming Zhao 等;《ACM SIGOPS Operating Systems Review》;第43卷(第3期);37-47 * |
基于程序分析的大数据应用内存预估方法;胡振宇 等;《中国科学:信息科学》;第50卷(第8期);1178-1196 * |
网络硬盘存储优化方法的设计与实现;何金鑫;《中国优秀硕士学位论文全文数据库 信息科技辑》(第1期);I137-29 * |
Also Published As
Publication number | Publication date |
---|---|
CN113076193A (zh) | 2021-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2996366B1 (en) | Application recommendation method, system and server | |
US9158577B2 (en) | Immediately launching applications | |
US8583783B1 (en) | Method and system for adaptive recovery of heap memory | |
JP2017538181A (ja) | ファイルの評価評定 | |
CN103440172A (zh) | 一种资源管理方法及终端设备 | |
CN105786539B (zh) | 一种文件下载方法及装置 | |
CN109240802B (zh) | 请求处理方法和装置 | |
CN110708212A (zh) | 分布式***中调用链路的追踪方法及装置 | |
CN112100034A (zh) | 一种业务监控方法和装置 | |
CN113760516A (zh) | 一种多云环境下的弹性伸缩方法、装置、设备及介质 | |
CN108920945B (zh) | root权限获取及删除方法、装置、终端设备及存储介质 | |
CN109873731B (zh) | 测试方法、装置和*** | |
CN113076193B (zh) | 一种内存优化的方法、装置及计算机可读存储介质 | |
US20220206836A1 (en) | Method and Apparatus for Processing Virtual Machine Migration, Method and Apparatus for Generating Virtual Machine Migration Strategy, Device and Storage Medium | |
CN110347546B (zh) | 监控任务动态调整方法、装置、介质及电子设备 | |
CN108322542B (zh) | 数据更新方法、***、装置以及计算机可读存储介质 | |
CN114666397B (zh) | 一种客户端版本更新方法及*** | |
CN113448867B (zh) | 一种软件压力测试方法及装置 | |
CN116150067A (zh) | 一种带宽调整方法、装置、电子设备和存储介质 | |
CN109803160B (zh) | 一种资源分配方法、装置及*** | |
CN115269063A (zh) | 进程创建方法、***、设备及介质 | |
CN109947613B (zh) | 文件读取测试方法和装置 | |
CN112148470B (zh) | 参数同步方法、计算机装置及可读存储介质 | |
CN112612578A (zh) | 一种虚拟机监控方法和装置 | |
CN112650693A (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 |