CN109697090A - 一种控制终端设备的方法、终端设备及存储介质 - Google Patents
一种控制终端设备的方法、终端设备及存储介质 Download PDFInfo
- Publication number
- CN109697090A CN109697090A CN201811613832.5A CN201811613832A CN109697090A CN 109697090 A CN109697090 A CN 109697090A CN 201811613832 A CN201811613832 A CN 201811613832A CN 109697090 A CN109697090 A CN 109697090A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- application
- currently
- machine parameter
- adjusted
- 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.)
- Granted
Links
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/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- 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
-
- 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/45575—Starting, stopping, suspending or resuming virtual machine instances
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)
Abstract
本申请适用于虚拟机技术领域,提供了一种控制终端设备的方法、终端设备及计算机可读存储介质,所述方法包括:在监测到所述终端设备启动应用后,判断当前启动的应用是否为预设应用,若当前启动的应用为预设应用,则获取与当前启动的应用对应的待调整的虚拟机参数,基于获取的待调整的虚拟机参数,调整所述终端设备的虚拟机,通过本申请减少终端设备在运行应用程序的过程中闪退或卡顿的问题。
Description
技术领域
本申请属于虚拟机技术领域,尤其涉及一种控制终端设备的方法、终端设备及计算机可读存储介质。
背景技术
Android 4.4提供了一种与Dalvik虚拟机截然不同的运行环境ART(Androidruntime)支持。ART模式与Dalvik模式最大的不同在于,启用ART模式后,系统在安装应用的时候会进行一次预编译,将字节码转换为机器语言存储在本地,这样在运行程序时就不会每次都进行一次编译了,执行效率也大大提升。
虽然ART模式相比较Dalvik模式,执行效率提升很多,但是,终端设备在基于ART虚拟机运行应用程序的过程中依然会出现闪退和卡顿的现象。
发明内容
有鉴于此,本申请实施例提供了一种控制终端设备的方法、终端设备及计算机可读存储介质,以减少终端设备在运行应用程序的过程中闪退或卡顿的问题。
本申请实施例的第一方面提供了一种控制终端设备的方法,包括:
在监测到所述终端设备启动应用后,判断当前启动的应用是否为预设应用;
若当前启动的应用为预设应用,则获取与当前启动的应用对应的待调整的虚拟机参数;
基于获取的待调整的虚拟机参数,调整所述终端设备的虚拟机。
本申请实施例的第二方面提供了一种终端设备,包括:
判断单元,用于在监测到所述终端设备启动应用后,判断当前启动的应用是否为预设应用;
参数获取单元,用于若当前启动的应用为预设应用,则获取与当前启动的应用对应的待调整的虚拟机参数;
调整单元,用于基于获取的待调整的虚拟机参数,调整所述终端设备的虚拟机。
本申请实施例的第三方面提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本申请实施例第一方面提供的所述方法的步骤。
本申请实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被一个或多个处理器执行时实现本申请实施例第一方面提供的所述方法的步骤。
本申请实施例的第五方面提供了一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被一个或多个处理器执行时实现本申请实施例第一方面提供的所述方法的步骤。
本申请实施例提供了一种控制终端设备的方法,在终端设备启动应用后,判断当前启动的应用是否为预设应用,若为预设应用,则获取与当前启动的应用对应的待调整的虚拟机参数,通过获取的待调整的虚拟机参数调整所述终端设备的虚拟机,由于可以根据终端设备当前启动的应用调节虚拟机,从而避免了应用申请内存过大、虚拟机无法满足导致的应用程序的闪退或卡顿的问题。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种控制终端设备的方法的实现流程示意图;
图2是本申请实施例提供的另一种控制终端设备的方法的实现流程示意图;
图3是本申请实施例提供的另一种控制终端设备的方法的实现流程示意图;
图4是本申请实施例提供的一种终端设备的示意框图;
图5是本申请实施例提供的另一种终端设备的示意框图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
为了说明本申请所述的技术方案,下面通过具体实施例来进行说明。
图1是本申请实施例提供的一种控制终端设备的方法的实现流程示意图,如图所示,该方法可以包括以下步骤:
步骤S101,在监测到所述终端设备启动应用后,判断当前启动的应用是否为预设应用。
在本申请实施例中,Android系统的应用程序中的每个进程或者虚拟机有最大内存限制,一旦超过这个限制系统就会抛出内存溢出(out of Memory,OOM)错误,然而一些应用程序在运行的过程中,会申请较大的内存,虚拟机可能无法满足就会导致闪退或卡顿的问题。通俗的理解,应用程序运行的过程中,可能需要申请一块内存来存放图片,系统认为应用程序需要的内存过大,即使系统有充分的内存,比如1G,但是系统也不会分配给应用程序,而是抛出OOM异常,应用程序没有捕捉异常,弹窗就会崩溃。这样限制每个应用可用内存上限,可以避免恶意程序或单个程序使用过多内存导致其他程序的不可运行。本申请实施例为了确保一些应用程序在运行过程中不会出现OOM异常,可以修改虚拟机参数,通过修改后的虚拟机参数避免在特定的应用程序运行过程中出现闪退或卡顿的问题。
例如,预先设置一些类别的应用程序:游戏类、视频类、图像处理类等。当然,实际应用中,也可以设置其它类别的应用程序;或者预先设置一些应用程序的名称。在监测到所述终端设备启动应用后,判断当前启动的应用是否为预设类别的应用或预设应用。
步骤S102,若当前启动的应用为预设应用,则获取与当前启动的应用对应的待调整的虚拟机参数。
在本申请实施例中,可在当前启动的应用为预设应用后,获取当前启动的应用对应的待调整的虚拟机参数,例如,预先设置列表,列表中设置了应用以及设置的每个应用对应的待调整的虚拟机参数。当然,也可以根据当前启动的应用的类别,获取当前启动的应用的类别对应的待调整的虚拟机参数,例如,预设设置列表,列表中设置了应用类别以及设置的每个应用类别对应的待调整的虚拟机参数。
作为本申请另一实施例,在获取与当前启动的应用对应的待调整的虚拟机参数之前,还包括:
监测当前启动的应用的运行状态;
相应的,所述获取与当前启动的应用对应的待调整的虚拟机参数包括:
获取当前启动的应用在当前的运行状态下对应的待调整的虚拟机参数。
在本申请实施例中,还可以动态的调整虚拟机参数,例如,若当前启动的应用为预设应用,则可以监测当前启动的应用的运行状态,所述应用的运行状态包括:所述应用占用最大内存的比例,然后,获取当前启动的应用在当前的运行状态下对应的待调整的虚拟机参数。即虚拟机参数根据当前启动的应用的运行状态进行实时调整。
作为举例,预先设置的列表可以按照如下形式存储:
这样就可以根据预先存储的列表实时的获取虚拟机参数,并调整终端设备的虚拟机。
步骤S103,基于获取的待调整的虚拟机参数,调整所述终端设备的虚拟机。
在本申请实施例中,调整的虚拟机参数可以是如下的调整:虚拟机内存cache调整、调整服务lwfs的优先级、关闭khugepaged服务、通过虚拟机作为lwfs代理、设置虚拟机的最大内存和内存大小、设置cpu核数的大小、重新挂载大页,设置大页数目。当然,实际应用中,也可以是其它虚拟机参数,或者是更多的虚拟机参数的调整,在此不做限制。
图2是本申请实施例提供的另一种控制终端设备的方法的实现流程示意图,如图所示,该方法在图1所示实施例的基础上,描述了如何获取与当前启动的应用对应的待调整的虚拟机参数,该方法可以包括以下步骤:
步骤S201,选定多组虚拟机参数,并在所述虚拟机参数下分别运行多个应用。
在本申请实施例中,可以预先设置多组虚拟机参数,多组虚拟机参数的设定可以根据经验获得。在选定多组虚拟机参数后,根据选定的多组虚拟机参数设置所述终端设备的虚拟机,并在每组虚拟机参数下分别运行预先设置的应用。
步骤S202,将每个应用在每个运行状态下流畅度最高的一组虚拟机参数作为当前运行的应用在当前运行状态下对应的待调整的虚拟机参数。
在本申请实施例中,对于单个应用而言,在运行每组虚拟机参数时,可以计算该应用在当前虚拟机参数下运行时,每个运行状态下的流畅度。所述流畅度为单位时间内VSync(vertical synchronization)运行的次数。
作为举例,应用APP1在虚拟机参数C1下运行时,可能获得多个运行状态下的流畅度:
应用APP1在虚拟机参数C2下运行时,可能获得多个运行状态下的流畅度:
通过应用APP1在上述两组虚拟机参数下运行是的状态可以将:APP1在运行状态为90%时的流畅度L5和流畅度L10中流畅度最高(L10)的一组虚拟机参数(C2)作为当前运行的应用(APP1)在当前运行状态(90%)下对应的待调整的虚拟机参数(C2)。按照上述方式可以计算获得每个应用在每个运行状态下对应的待调整的虚拟机参数。
步骤S203,将每个应用在每个运行状态下对应的待调整的虚拟机参数保存在所述终端设备或服务器中。
步骤S204,从所述服务器或所述终端设备获取与当前启动的应用对应的待调整的虚拟机参数。
在本申请实施例中,按照步骤S202的描述可以获得多个应用分别在多个运行状态下的待调整的虚拟机参数,可以将获得的每个应用在每个运行状态下对应的待调整的虚拟机参数保存在终端设备中,也可以将获得的每个应用在每个运行状态下对应的待调整的虚拟机参数保存在服务器上。在需要获取与当前启动的应用对应的待调整的虚拟机参数时,从终端设备中或者从服务器获取。
图3是本申请实施例提供的另一种控制终端设备的方法的实现流程示意图,如图所示,该方法在图1所示实施例的基础上,描述了另一种获取与当前启动的应用对应的待调整的虚拟机参数,该方法可以包括以下步骤:
步骤S301,获取所述终端设备的历史数据,所述历史数据为所述应用在所述虚拟机参数下运行时,所述应用的运行状态对应的流畅度。
在本申请实施例中,在终端设备的虚拟机参数能够实现调整后,终端设备的虚拟机可以根据当前启动的应用的运行状态实时的进行调整。如图2所示实施例的描述,对于每个应用的运行状态对应的待调整的虚拟机参数可能只能选取几个运行状态进行保存,例如,选取运行状态为20%、40%、60%、80%、100%时分别对应的待调整的虚拟机参数。然而,实际应用中,所述应用的运行状态是在实时变化的,且可能不会经常停留在上述列表中的存储的几个运行状态中,因此,需要能够获得更精确的与运行状态对应的待调整的虚拟机参数。
本申请实施例可以获取一段时间内的终端设备的历史数据,以应用APP1为例,获取应用APP1运行时,每个时间对应的运行状态、虚拟机参数以及流畅度。
步骤S302,选出所述流畅度大于预设值的历史数据作为训练数据训练预先构建的卷积神经网络模型,获得训练后的卷积神经网络模型,所述训练数据的标签值为所述应用的所述虚拟机参数,所述训练数据的输入为所述应用在所述虚拟机参数下运行时,所述应用占用最大内存的比例中的最大值。
在本申请实施例中,获取的历史数据中可能存在不达标的数据,例如,实时监测的运行状态并未出现在预先存储的列表中导致虚拟机参数无法及时调整,从而出现流畅度不达标的情况。因此,在获得历史数据后,需要选出所述流畅度大于预设值的历史数据作为训练数据,在获得的训练数据中,可能会存在一个运行状态对应多个虚拟机参数的情况,也可能会存在一个虚拟机参数对应多个运行状态的情况,本申请将每个虚拟机参数对应的应用占用最大内存的比例中的最大值作为输入,将对应的虚拟机参数作为标签值训练卷积神经网络模型,所述卷积神经网络模型为常规的卷积神经网络模型。所述卷积神经网络模型最后连接分类器,分类器对应多个分类结果,每个分类结果对应一组虚拟机参数。
当然实际应用中,可以在选出所述流畅度大于预设值的历史数据作为训练数据后。将应用占用最大内存的比例作为输入值,将应用占用最大内存的比例对应的虚拟机参数作为标签值训练卷积神经网络模型。
步骤S303,获取当前启动的应用的运行状态。
步骤S304,将所述应用的运行状态输入训练后的卷积神经网络模型,获得待调整的虚拟机参数。
在本申请实施例中,可以实时获取当前启动的应用的运行状态,将运行状态(当前启动的应用占用最大内存的比例)输入训练后的卷积神经网络模型,获得待调整的虚拟机参数。这样,就可以实时的根据当前启动的应用的当前的运行状态获得待调整的虚拟机参数。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
图4是本申请一实施例提供的终端设备的示意框图,为了便于说明,仅示出与本申请实施例相关的部分。
该终端设备4可以是内置于手机、平板电脑、笔记本、计算机等终端设备内的软件单元、硬件单元或者软硬结合的单元,也可以作为独立的挂件集成到所述手机、平板电脑、笔记本、计算机等终端设备中。
所述终端设备4包括:
判断单元41,用于在监测到所述终端设备启动应用后,判断当前启动的应用是否为预设应用;
参数获取单元42,用于若当前启动的应用为预设应用,则获取与当前启动的应用对应的待调整的虚拟机参数;
调整单元43,用于基于获取的待调整的虚拟机参数,调整所述终端设备的虚拟机。
作为本申请另一实施例,所述参数获取单元42还用于:
监测当前启动的应用的运行状态,获取当前启动的应用在当前的运行状态下对应的待调整的虚拟机参数。
作为本申请另一实施例,所述终端设备4还包括:
参数设置单元44,用于选定多组虚拟机参数,并在所述虚拟机参数下分别运行多个应用,将满足预设条件的虚拟机参数作为当前运行的应用对应的待调整的虚拟机参数。
作为本申请另一实施例,所述参数设置单元44包括:
参数确定单元441,用于将每个应用在每个运行状态下流畅度最高的一组虚拟机参数作为当前运行的应用在当前运行状态下对应的待调整的虚拟机参数;
存储单元442,用于将每个应用在每个运行状态下对应的待调整的虚拟机参数保存在所述终端设备或服务器中;
相应的,所述参数获取单元42还用于:
从所述服务器或所述终端设备获取与当前启动的应用对应的待调整的虚拟机参数。
作为本申请另一实施例,所述应用的运行状态包括:所述应用占用最大内存的比例,所述流畅度为单位时间内VSync运行的次数。
作为本申请另一实施例,所述参数设置单元44包括:
历史数据获取单元,用于获取所述终端设备的历史数据,所述历史数据为所述应用在所述虚拟机参数下运行时,所述应用的运行状态对应的流畅度;
训练单元,用于选出所述流畅度大于预设值的历史数据作为训练数据训练预先构建的卷积神经网络模型,获得训练后的卷积神经网络模型,所述训练数据的标签值为所述应用的所述虚拟机参数,所述训练数据的输入为所述应用在所述虚拟机参数下运行时,所述应用占用最大内存的比例中的最大值。
作为本申请另一实施例,所述参数获取单元还用于:
获取当前启动的应用的运行状态;
将所述应用的运行状态输入训练后的卷积神经网络模型,获得待调整的虚拟机参数。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述终端设备的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述终端设备中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
图5是本申请又一实施例提供的终端设备的示意框图。如图5所示,该实施例的终端设备5包括:一个或多个处理器50、存储器51以及存储在所述存储器51中并可在所述处理器50上运行的计算机程序52。所述处理器50执行所述计算机程序52时实现上述各个方法实施例中的步骤,例如图1所示的步骤S101至S103。或者,所述处理器50执行所述计算机程序52时实现上述终端设备实施例中各模块/单元的功能,例如图4所示模块41至43的功能。
示例性的,所述计算机程序52可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器51中,并由所述处理器50执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序52在所述终端设备5中的执行过程。例如,所述计算机程序52可以被分割成判断单元、参数获取单元、调整单元。
判断单元,用于在监测到所述终端设备启动应用后,判断当前启动的应用是否为预设应用;
参数获取单元,用于若当前启动的应用为预设应用,则获取与当前启动的应用对应的待调整的虚拟机参数;
调整单元,用于基于获取的待调整的虚拟机参数,调整所述终端设备的虚拟机。
其它单元或者模块可参照图4所示的实施例中的描述,在此不再赘述。
所述终端设备包括但不仅限于处理器50、存储器51。本领域技术人员可以理解,图5仅仅是终端设备5的一个示例,并不构成对终端设备5的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入设备、输出设备、网络接入设备、总线等。
所述处理器50可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器51可以是所述终端设备5的内部存储单元,例如终端设备5的硬盘或内存。所述存储器51也可以是所述终端设备5的外部存储设备,例如所述终端设备5上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器51还可以既包括所述终端设备5的内部存储单元也包括外部存储设备。所述存储器51用于存储所述计算机程序以及所述终端设备所需的其他程序和数据。所述存储器51还可以用于暂时地存储已经输出或者将要输出的数据。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的终端设备和方法,可以通过其它的方式实现。例如,以上所描述的终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括是电载波信号和电信信号。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (10)
1.一种控制终端设备的方法,其特征在于,包括:
在监测到所述终端设备启动应用后,判断当前启动的应用是否为预设应用;
若当前启动的应用为预设应用,则获取与当前启动的应用对应的待调整的虚拟机参数;
基于获取的待调整的虚拟机参数,调整所述终端设备的虚拟机。
2.如权利要求1所述的控制终端设备的方法,其特征在于,在获取与当前启动的应用对应的待调整的虚拟机参数之前,还包括:
监测当前启动的应用的运行状态;
相应的,所述获取与当前启动的应用对应的待调整的虚拟机参数包括:
获取当前启动的应用在当前的运行状态下对应的待调整的虚拟机参数。
3.如权利要求1所述的控制终端设备的方法,其特征在于,在获取与当前启动的应用对应的待调整的虚拟机参数之前,还包括:
选定多组虚拟机参数,并在所述虚拟机参数下分别运行多个应用,将满足预设条件的虚拟机参数作为当前运行的应用对应的待调整的虚拟机参数。
4.如权利要求3所述的控制终端设备的方法,其特征在于,所述将满足预设条件的虚拟机参数作为当前运行的应用对应的待调整的虚拟机参数包括:
将每个应用在每个运行状态下流畅度最高的一组虚拟机参数作为当前运行的应用在当前运行状态下对应的待调整的虚拟机参数;
将每个应用在每个运行状态下对应的待调整的虚拟机参数保存在所述终端设备或服务器中;
相应的,所述获取与当前启动的应用对应的待调整的虚拟机参数包括:
从所述服务器或所述终端设备获取与当前启动的应用对应的待调整的虚拟机参数。
5.如权利要求4所述的控制终端设备的方法,其特征在于,所述应用的运行状态包括:所述应用占用最大内存的比例,所述流畅度为单位时间内VSync运行的次数。
6.如权利要求5所述的控制终端设备的方法,其特征在于,在获取与当前启动的应用对应的待调整的虚拟机参数之前,还包括:
获取所述终端设备的历史数据,所述历史数据为所述应用在所述虚拟机参数下运行时,所述应用的运行状态对应的流畅度;
选出所述流畅度大于预设值的历史数据作为训练数据训练预先构建的卷积神经网络模型,获得训练后的卷积神经网络模型,所述训练数据的标签值为所述应用的所述虚拟机参数,所述训练数据的输入为所述应用在所述虚拟机参数下运行时,所述应用占用最大内存的比例中的最大值。
7.如权利要求6所述的控制终端设备的方法,其特征在于,所述获取与当前启动的应用对应的待调整的虚拟机参数包括:
获取当前启动的应用的运行状态;
将所述应用的运行状态输入训练后的卷积神经网络模型,获得待调整的虚拟机参数。
8.一种终端设备,其特征在于,包括:
判断单元,用于在监测到所述终端设备启动应用后,判断当前启动的应用是否为预设应用;
参数获取单元,用于若当前启动的应用为预设应用,则获取与当前启动的应用对应的待调整的虚拟机参数;
调整单元,用于基于获取的待调整的虚拟机参数,调整所述终端设备的虚拟机。
9.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被一个或多个处理器执行时实现如权利要求1至7任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811613832.5A CN109697090B (zh) | 2018-12-27 | 2018-12-27 | 一种控制终端设备的方法、终端设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811613832.5A CN109697090B (zh) | 2018-12-27 | 2018-12-27 | 一种控制终端设备的方法、终端设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109697090A true CN109697090A (zh) | 2019-04-30 |
CN109697090B CN109697090B (zh) | 2022-10-11 |
Family
ID=66232127
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811613832.5A Active CN109697090B (zh) | 2018-12-27 | 2018-12-27 | 一种控制终端设备的方法、终端设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109697090B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110413510A (zh) * | 2019-06-28 | 2019-11-05 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置及设备 |
CN112882791A (zh) * | 2021-02-04 | 2021-06-01 | 深信服科技股份有限公司 | 虚拟机性能的优化方法、设备及存储介质 |
CN114168212A (zh) * | 2020-09-09 | 2022-03-11 | 成都鼎桥通信技术有限公司 | 应用处理方法、装置、设备及计算机可读存储介质 |
CN114625457A (zh) * | 2020-12-11 | 2022-06-14 | 深信服科技股份有限公司 | 桌面云环境优化方法、装置、设备及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090055821A1 (en) * | 2007-08-22 | 2009-02-26 | International Business Machines Corporation | Systems, methods, and computer products for just-in-time compilation for virtual machine environments for fast application startup and maximal run-time performance |
US20120151480A1 (en) * | 2010-12-14 | 2012-06-14 | International Business Machines Corporation | Preserving changes to a configuration of a running virtual machine |
US20150095909A1 (en) * | 2013-09-27 | 2015-04-02 | International Business Machines Corporation | Setting retransmission time of an application client during virtual machine migration |
CN105700930A (zh) * | 2016-02-22 | 2016-06-22 | 青岛海信移动通信技术股份有限公司 | 嵌入式操作系统的应用加速方法和装置 |
CN106055406A (zh) * | 2016-05-20 | 2016-10-26 | 深圳天珑无线科技有限公司 | 一种程序运行的方法和终端 |
CN106371896A (zh) * | 2016-09-20 | 2017-02-01 | 广东欧珀移动通信有限公司 | 虚拟机内存配置方法及装置、移动终端 |
CN107635078A (zh) * | 2017-10-30 | 2018-01-26 | 广东欧珀移动通信有限公司 | 游戏控制方法及设备 |
CN108549573A (zh) * | 2018-04-09 | 2018-09-18 | 努比亚技术有限公司 | 一种内存模型的计算方法、装置及计算机可读存储介质 |
-
2018
- 2018-12-27 CN CN201811613832.5A patent/CN109697090B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090055821A1 (en) * | 2007-08-22 | 2009-02-26 | International Business Machines Corporation | Systems, methods, and computer products for just-in-time compilation for virtual machine environments for fast application startup and maximal run-time performance |
US20120151480A1 (en) * | 2010-12-14 | 2012-06-14 | International Business Machines Corporation | Preserving changes to a configuration of a running virtual machine |
US20150095909A1 (en) * | 2013-09-27 | 2015-04-02 | International Business Machines Corporation | Setting retransmission time of an application client during virtual machine migration |
CN105700930A (zh) * | 2016-02-22 | 2016-06-22 | 青岛海信移动通信技术股份有限公司 | 嵌入式操作系统的应用加速方法和装置 |
CN106055406A (zh) * | 2016-05-20 | 2016-10-26 | 深圳天珑无线科技有限公司 | 一种程序运行的方法和终端 |
CN106371896A (zh) * | 2016-09-20 | 2017-02-01 | 广东欧珀移动通信有限公司 | 虚拟机内存配置方法及装置、移动终端 |
CN107635078A (zh) * | 2017-10-30 | 2018-01-26 | 广东欧珀移动通信有限公司 | 游戏控制方法及设备 |
CN108549573A (zh) * | 2018-04-09 | 2018-09-18 | 努比亚技术有限公司 | 一种内存模型的计算方法、装置及计算机可读存储介质 |
Non-Patent Citations (1)
Title |
---|
胡耀等: "基于Xen虚拟机的内存资源实时监控与按需调整", 《计算机应用》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110413510A (zh) * | 2019-06-28 | 2019-11-05 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置及设备 |
CN110413510B (zh) * | 2019-06-28 | 2024-04-12 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置及设备 |
CN114168212A (zh) * | 2020-09-09 | 2022-03-11 | 成都鼎桥通信技术有限公司 | 应用处理方法、装置、设备及计算机可读存储介质 |
CN114625457A (zh) * | 2020-12-11 | 2022-06-14 | 深信服科技股份有限公司 | 桌面云环境优化方法、装置、设备及存储介质 |
CN114625457B (zh) * | 2020-12-11 | 2024-02-27 | 深信服科技股份有限公司 | 桌面云环境优化方法、装置、设备及存储介质 |
CN112882791A (zh) * | 2021-02-04 | 2021-06-01 | 深信服科技股份有限公司 | 虚拟机性能的优化方法、设备及存储介质 |
CN112882791B (zh) * | 2021-02-04 | 2024-04-09 | 深信服科技股份有限公司 | 虚拟机性能的优化方法、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109697090B (zh) | 2022-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109697090A (zh) | 一种控制终端设备的方法、终端设备及存储介质 | |
CN110310229A (zh) | 图像处理方法、图像处理装置、终端设备及可读存储介质 | |
CN109842565A (zh) | 接口限流方法、装置、电子设备及存储介质 | |
CN111950723A (zh) | 神经网络模型训练方法、图像处理方法、装置及终端设备 | |
CN109166156A (zh) | 一种摄像头标定图像的生成方法、移动终端及存储介质 | |
CN109785246A (zh) | 一种非局部均值滤波的降噪方法、装置及设备 | |
CN109309878A (zh) | 弹幕的生成方法及装置 | |
CN109078333A (zh) | 一种匹配游戏好友的方法及装置 | |
CN109118447A (zh) | 一种图片处理方法、图片处理装置及终端设备 | |
CN108961267A (zh) | 图片处理方法、图片处理装置及终端设备 | |
CN115249315B (zh) | 面向异构计算设备的深度学习图像分类方法及装置 | |
CN109886087A (zh) | 一种基于神经网络的活体检测方法及终端设备 | |
CN109587347A (zh) | 显示屏参数的调整方法、装置和系统,移动终端 | |
CN109005367A (zh) | 一种高动态范围图像的生成方法、移动终端及存储介质 | |
CN109598250A (zh) | 特征提取方法、装置、电子设备和计算机可读介质 | |
CN113516239A (zh) | 模型训练方法、装置、存储介质及电子设备 | |
CN112954400A (zh) | 基于深度学习的数据编码控制方法、系统及大数据平台 | |
CN108595211A (zh) | 用于输出数据的方法和装置 | |
CN108875502A (zh) | 人脸识别方法和装置 | |
CN108268936A (zh) | 用于存储卷积神经网络的方法和装置 | |
WO2019062404A1 (zh) | 应用程序的处理方法、装置、存储介质及电子设备 | |
CN110532448B (zh) | 基于神经网络的文档分类方法、装置、设备及存储介质 | |
CN114612011A (zh) | 一种风险防控决策方法及装置 | |
CN109561134A (zh) | 电子装置、分布式集群服务分配方法及存储介质 | |
CN109508087A (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 |