CN111742299A - 资源控制装置、资源控制方法和资源控制程序 - Google Patents

资源控制装置、资源控制方法和资源控制程序 Download PDF

Info

Publication number
CN111742299A
CN111742299A CN201880089640.0A CN201880089640A CN111742299A CN 111742299 A CN111742299 A CN 111742299A CN 201880089640 A CN201880089640 A CN 201880089640A CN 111742299 A CN111742299 A CN 111742299A
Authority
CN
China
Prior art keywords
memory area
limit value
size
resource control
controlled
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
Application number
CN201880089640.0A
Other languages
English (en)
Inventor
小野优也
茂田井宽隆
出口昌弘
落合真一
小中裕喜
西尾俊介
富泽俊明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of CN111742299A publication Critical patent/CN111742299A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation 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/5016Allocation 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation 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/5022Mechanisms to release resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5055Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources

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)
  • Memory System (AREA)
  • Stored Programmes (AREA)

Abstract

进程控制部(41)在限制值x以下的大小的内存区域中使控制对象的多个进程进行动作。资源分配部(43)在检测到停止了的进程时,按照控制对象的每个进程分配可使用的内存区域的大小作为缓和限制值。进程控制部(41)在检测到停止了的进程时,使控制对象的各进程在由资源分配部(43)分配给该进程的缓和限制值以下的大小的内存区域中进行缩退运行。

Description

资源控制装置、资源控制方法和资源控制程序
技术领域
本发明涉及对进程使用的资源进行控制的技术。
背景技术
在现有的资源控制中,针对群组化的进程组,该群组可使用的内存使用量受到限制。此外,在群组的内存使用量达到限制值的情况下,使属于群组的全部进程停止,由此进行控制以不影响其他群组。
在专利文献1中记载了,在资源控制对象的进程进行动作的内存区域中,在不存在内存使用量的余量的情况下,使用基准值选出进程,使选出的进程停止。由此,在专利文献1中,确保内存,排除由于不良进程引起的内存负荷对其他进程造成影响。
现有技术文献
专利文献
专利文献1:日本特开2000-293386号公报
发明内容
发明要解决的问题
在现有的资源控制中,前提在于判明资源控制对象的进程的身份。
在具有由用户开发的进程那样无法确定功能和特性的进程的系统中,将资源控制对象的全部进程分类成特定的群组并按照每个群组实施适当的资源控制是很困难的。在资源控制对象的进程进行动作的内存区域中,在不存在可使用的内存区域的余量的情况下,使哪个进程再次起动或停止的判定也同样困难。因此,可能使与期待继续动作的服务有关的进程再次起动或停止,可能无法使服务继续进行动作。
本发明的目的在于,在未判明资源控制对象的进程的身份的情况下,也容易使服务继续进行动作。
用于解决问题的手段
本发明的资源控制装置具有:进程控制部,其在限制值x以下的大小的内存区域中使控制对象的多个进程进行动作;停止检测部,其从所述控制对象的多个进程中检测停止了的进程;以及资源分配部,其在由所述停止检测部检测到停止了的进程时,按照所述控制对象的每个进程分配可使用的内存区域的大小作为缓和限制值,所述进程控制部在由所述停止检测部检测到停止了的进程时,使所述控制对象的各进程在由所述资源分配部分配给该进程的所述缓和限制值以下的大小的内存区域中进行缩退运行。
发明的效果
在本发明中,在可使用的内存区域的余量用尽之前,按照每个进程分离并分配可使用的内存区域,进行缩退运行。由此,能够抑制各进程的内存区域的使用量,并且使未发生异常的进程通过缩退运行而继续动作。
附图说明
图1是实施方式1的资源控制装置10的硬件结构图。
图2是实施方式1的资源控制装置10的软件结构图。
图3是示出实施方式1的资源控制装置10的整体动作的流程图。
图4是示出实施方式1的依存管理表51的图。
图5是示出实施方式1的使用量管理表52的图。
图6是实施方式1的群组监视处理的流程图。
图7是实施方式2的资源控制装置10的软件结构图。
图8是示出实施方式2的使用量日志表53的图。
图9是示出实施方式2的操作历史表54的图。
图10是实施方式3的资源控制装置10的软件结构图。
图11是示出实施方式3的资源控制装置10的动作的流程图。
具体实施方式
实施方式1
***结构的说明***
参照图1对实施方式1的资源控制装置10的硬件结构进行说明。
资源控制装置10具有处理器11、内存12、存储器13和通信接口14这样的硬件。处理器11经由信号线而与其他硬件连接,对这些其他硬件进行控制。
处理器11是进行处理的IC(Integrated Circuit)。即,处理器11是处理电路。作为具体例,处理器11是CPU(Central Processing Unit)、DSP(Digital Signal Processor)、GPU(Graphics Processing Unit)。
内存12是暂时存储数据的存储装置。作为具体例,内存12是SRAM(Static RandomAccess Memory)、DRAM(Dynamic Random Access Memory)。
存储器13是保管数据的存储装置。作为具体例,存储器13是HDD(Hard DiskDrive)。此外,存储器13也可以是SD(注册商标、Secure Digital)存储卡、CF(CompactFlash、注册商标)、NAND闪存、软盘、光盘、高密度盘、蓝光(注册商标)盘、DVD(Digital Versatile Disk)这样的移动记录介质。
通信接口14是用于与外部的装置进行通信的接口。作为具体例,通信接口14是Ethernet(注册商标)、USB(Universal Serial Bus)、HDMI(注册商标、High-DefinitionMultimedia Interface)的端口。
在图1中,仅示出一个处理器11。但是,处理器11也可以是多个。
参照图2对实施方式1的资源控制装置10的软件结构进行说明。
在资源控制装置10中,操作系统20进行动作。在操作系统20中,多个进程30和管理部40进行动作。在图2中,示出4个进程30,但是,进程30的数量可以是2个,也可以是3个,还可以是5个以上。
操作系统20具有资源控制部21作为功能结构要素。
资源控制部21是如下的界面:用于针对资源的控制对象的进程30,实施群组生成、群组删除、进程30针对群组的登记、进程30的所属目的地的群组的变更、内存使用量的限制、内存使用量的收集。
管理部40具有进程控制部41、停止检测部42和资源分配部43作为功能结构要素。
进程控制部41对资源控制部21请求进程的群组的生成这样的与群组有关的处理等。停止检测部42从资源的控制对象的多个进程30中检测停止的进程30。资源分配部43按照控制对象的每个进程30分配可使用的内存区域的大小。
***动作的说明***
参照图3~图6对实施方式1的资源控制装置10的动作进行说明。
实施方式1的资源控制装置10的动作相当于实施方式1的资源控制方法。此外,实施方式1的资源控制装置10的动作相当于实施方式1的资源控制程序的处理。
参照图3对实施方式1的资源控制装置10的整体动作进行说明。
(步骤S101:表生成处理)
进程控制部41生成用于对作为资源的控制对象的多个进程30进行管理的依存管理表51。进程控制部41将依存管理表51写入存储器13中。
如图4所示,依存管理表51按照每个进程30存储起动时刻和依存进程。起动时刻是彼此能够进行比较运算、且绝对时刻已知的形式的时刻。作为具体例,起动时刻是UNIX(注册商标)time。依存进程是对象的进程30进行动作所需要的进程30。即,在依存进程未进行动作的情况下,对象的进程30无法进行动作。例如,如果是Linux(注册商标),则依存进程是对象的进程30的父进程。
(步骤S102:群组X生成处理)
进程控制部41经由资源控制部21生成群组X,使作为资源的控制对象的多个进程30属于群组X。
资源分配部43经由资源控制部21,对群组X设定内存12的使用量的限制值即限制值x。限制值x是比群组X可使用的内存区域的大小小的大小。在实施方式1中,限制值x是对群组X可使用的内存区域的大小乘以比1小的值α(例如0.95)而得到的大小。
(步骤S103:使用量取得处理)
进程控制部41经由资源控制部21取得各进程30正在使用的内存区域的大小即内存使用量。如图5所示,进程控制部41生成表示内存使用量的使用量管理表52。进程控制部41将使用量管理表52写入存储器13中。
(步骤S104:停止检测处理)
停止检测部42经由资源控制部21从资源的控制对象的多个进程30中检测停止的进程30。即,停止检测部42从属于群组X的多个进程30中检测停止的进程30。
停止检测部42在检测到停止的进程30的情况下,使处理进入步骤S105。另一方面,停止检测部42在未检测到停止的进程30的情况下,使处理返回步骤S103,在经过一定时间后再次取得内存使用量。
(步骤S105:群组Y生成处理)
进程控制部41经由资源控制部21生成与属于群组X的进程30的数量相同数量的群组Y,使各进程30分别属于不同的群组Y。即,一个进程30属于一个群组Y。
资源分配部43将各群组Y作为对象,对对象的群组Y设定内存区域的使用量的限制值即限制值y。换言之,资源分配部43按照每个进程30分配可使用的内存区域的大小作为限制值y。限制值y是在步骤S104中检测到停止的进程的时间点的、属于对象的群组Y的进程30使用的内存的大小。即,第2限制值是在最近的步骤S103中取得的、属于对象的群组Y的进程30使用的内存区域的大小。
即使各进程30向各群组Y转移,停止的进程30可使用的内存区域的大小也是与停止时使用的大小相同的限制值y,因此,停止的进程30依然停止。
(步骤S106:缩退运行(縮退運転)处理)
进程控制部41从多个群组Y中选择一个群组。进程控制部41经由资源控制部21缓和了选择出的群组Y的限制值y后,使属于选择出的群组Y的进程30进行缩退运行。例如,进程控制部41使用信号或消息队列这样的进程间通信或共享内存,向属于选择出的群组Y的进程30发送进程30停止了的通知。进程30接收通知后,设为发生内存不足,转移到缩退运行。
即,进程控制部41对选择出的群组Y分配比限制值y大的大小的缓和限制值。缓和限制值是比在最近的步骤S103中取得的、属于对象的群组Y的进程30使用的内存区域的大小大的大小。在实施方式1中,是对在最近的步骤S103中取得的、属于对象的群组Y的进程30使用的内存区域的大小乘以值α的倒数(即1/α)而得到的大小。
缩退运行是不使不必要的功能进行动作、而仅使必要最小限度的功能进行动作的运行模式。
这里,进程控制部41参照依存管理表51,在存在具有依存进程的进程30的情况下,第一优先选择依存进程。此外,进程控制部41第二优先选择在最近的步骤S103中取得的内存使用量多的进程30。即,进程控制部41在存在多个依存进程的情况下,优先选择内存使用量多的依存进程。
由于限制值y被缓和,因此,有时能够再次开始进行由于内存不足而停止的进程30的动作。
(步骤S107:缓和判定处理)
进程控制部41针对属于全部群组Y的进程30,判定是否执行了步骤S106的处理。
进程控制部41在执行了步骤S106的处理的情况下,使处理进入步骤S108。另一方面,进程控制部41在未执行步骤S106的处理的情况下,使处理返回步骤S106,选择还未执行处理的群组Y。
(步骤S108:群组监视处理)
进程控制部41进行监视,直到属于全部群组Y的进程30使用的内存区域的大小的合计值成为步骤S102中设定的限制值x以下为止。
(步骤S109:群组Y删除处理)
进程控制部41在步骤S108中确认合计值成为限制值x以下,删除不需要的全部群组Y。
参照图6对实施方式1的群组监视处理(步骤S108)进行说明。
(步骤S201:使用量判定处理)
进程控制部41经由资源控制部21,取得属于全部群组Y的进程30使用的内存区域的大小即内存使用量。然后,进程控制部41判定属于全部群组Y的进程30使用的内存区域的大小的合计值是否为步骤S102中设定的限制值x以下。
进程控制部41在合计值为限制值x以下的情况下,使处理进入步骤S202。另一方面,在合计值大于限制值x的情况下,使处理进入步骤S203。
(步骤S202:恢复处理)
进程控制部41经由资源控制部21,使属于全部群组Y的进程30转移到群组X。然后,进程控制部41对各进程30通知消除了内存不足,使各进程30以通常运行进行动作,而不是缩退运行。
(步骤S203:停止判定处理)
停止检测部42从属于全部群组Y的进程30中检测停止的进程30。
停止检测部42在检测到停止的进程30的情况下,使处理进入步骤S204。另一方面,停止检测部42在未检测到停止的进程30的情况下,使处理返回步骤S201,在经过一定时间后再次取得内存使用量。
(步骤S204:再次起动处理)
进程控制部41经由资源控制部21使步骤S203中检测到的停止的进程30再次起动。然后,进程控制部41使处理返回步骤S201,在经过一定时间后再次取得内存使用量。
***实施方式1的效果***
如上所述,实施方式1的资源控制装置10在可使用的内存区域的余量用尽之前,按照每个进程30分离并分配可使用的内存区域,使各进程30进行缩退运行。由此,能够抑制各进程30的内存区域的使用量,能够使与内存区域的使用量异常增加的进程30无关的进程30通过缩退运行而继续动作。此外,关于发生了异常的进程30,通过分配较大的可使用的内存区域的大小,能够再次开始进行动作。
通过使进程30继续动作,系统的可用性提高。此外,不需要按照每个进程30事前设定阈值和应对方法,导入容易。
实施方式2
实施方式2与实施方式1的不同之处在于,输出各进程30使用的内存区域的大小作为日志数据。在实施方式2中,对该不同之处进行说明,省略相同之处的说明。
***结构的说明***
参照图7对实施方式2的资源控制装置10的软件结构进行说明。
资源控制装置10与图2所示的资源控制装置10的不同之处在于,管理部40具有日志输出部44。
***动作的说明***
参照图3、图6、图8和图9对实施方式2的资源控制装置10的动作进行说明。
实施方式2的资源控制装置10的动作相当于实施方式2的资源控制方法。此外,实施方式2的资源控制装置10的动作相当于实施方式2的资源控制程序的处理。
在图3的步骤S103和图6的步骤S201中,日志输出部44输出所取得的内存使用量作为日志数据。
在实施方式2中,如图8所示,日志输出部44将取得的内存使用量追加到使用量日志表53中。在图8中,使用量日志表53按照每个取得时刻存储各进程30的内存使用量和每个内存使用量的比率。关于每个内存使用量的比率,将内存使用量分类为A1、A2和A3这3个等级,示出与各等级相符的内存使用量的进程30的数量。即,如果是图8的第1行的记录,则每个内存使用量的比率为4:0:0,因此,表示与等级A1相符的进程30的数量为4,与等级A2和A3相符的进程30的数量为0。这里,等级A1是内存使用量为限制值y以下的情况。等级A2是内存使用量比限制值y多且为缓和限制值以下的情况。等级A3是内存使用量比缓和限制值多的情况。
在图3的步骤S102、步骤S105、步骤S106和图6的步骤S202、步骤S203、步骤S204中,日志输出部44输出所实施的操作作为日志数据。另外,日志输出部44也可以在各步骤中多次输出日志数据。
在实施方式2中,如图9所示,日志输出部44将实施的操作追加到操作历史表54中。在图9中,操作历史表54按照每个时刻存储操作种类、操作内容和结果。操作种类是实施的操作的分类。操作种类是群组生成、群组删除、进程30针对群组的登记、进程30的所属目的地的群组的变更、内存使用量的限制、内存使用量的收集、通知、再次起动等。操作内容是实施的操作的具体内容。结果表示实施的操作是成功还是失败。结果是针对操作系统20和资源控制部21的请求的结果。另外,在操作失败的情况下,结果也可以包含表示原因的错误编号。
***实施方式2的效果***
如上所述,实施方式2的资源控制装置10在各时间点输出内存使用量和实施的操作作为日志数据。由此,在发生了内存不足的情况下,能够确定原因是在于进程30还是在于环境。此外,还能够进行故障的等级的分析。
实施方式3
实施方式3与实施方式1、2的不同之处在于,使垃圾回收器优先开始进行缩退运行。在实施方式3中,对该不同之处进行说明,省略相同之处的说明。
在实施方式3中,说明对实施方式1追加了功能的情况,但是,还能够对实施方式2追加功能。
***结构的说明***
参照图10对实施方式3的资源控制装置10的软件结构进行说明。
资源控制装置10与图2所示的资源控制装置10的不同之处在于,具有垃圾回收器估计部45。
***动作的说明***
参照图11对实施方式3的资源控制装置10的动作进行说明。
实施方式3的资源控制装置10的动作相当于实施方式3的资源控制方法。此外,实施方式3的资源控制装置10的动作相当于实施方式3的资源控制程序的处理。
步骤S301~步骤S305的处理与图3的步骤S101~步骤S105的处理相同。步骤S308~步骤S310的处理与图3的步骤S107~步骤S109的处理相同。
(步骤S306:垃圾回收器估计处理)
垃圾回收器估计部45估计属于全部群组Y的进程30中的垃圾回收器。具体而言,垃圾回收器估计部45参照依存管理表51,将起动时刻最早的进程30估计为垃圾回收器。
进程控制部41在缓和了作为垃圾回收器的进程30所属的群组Y的限制值y后,使作为垃圾回收器的进程30进行缩退运行。
进程控制部41在接收到表示垃圾回收器的动作完成或垃圾回收器未动作的通知的情况下、以及进行缩退运行的进程30停止了的情况下,使处理进入步骤S307。
(步骤S307:缩退运行处理)
进程控制部41从步骤S306中进行缩退运行的进程30所属的群组Y以外的群组Y中选择一个群组。然后,进程控制部41经由资源控制部21缓和了选择出的群组Y的限制值y后,使属于选择出的群组Y的进程30进行缩退运行。
***实施方式3的效果***
如上所述,实施方式3的资源控制装置10估计作为垃圾回收器的进程30,使作为垃圾回收器的进程30优先进行缩退运行。如果执行垃圾回收器,则释放内存,消除内存不足。因此,通过使作为垃圾回收器的进程30优先运行,能够尽早消除内存不足。
标号说明
10:资源控制装置;11:处理器;12:内存;13:存储器;14:通信接口;20:操作系统;21:资源控制部;30:进程;40:管理部;41:进程控制部;42:停止检测部;43:资源分配部;44:日志输出部;45:垃圾回收器估计部。

Claims (11)

1.一种资源控制装置,其具有:
进程控制部,其在限制值x以下的大小的内存区域中使控制对象的多个进程进行动作;
停止检测部,其从所述控制对象的多个进程中检测停止了的进程;以及
资源分配部,其在由所述停止检测部检测到停止了的进程时,按照所述控制对象的每个进程分配可使用的内存区域的大小作为缓和限制值,
所述进程控制部在由所述停止检测部检测到停止了的进程时,使所述控制对象的各进程在由所述资源分配部分配给该进程的所述缓和限制值以下的大小的内存区域中进行缩退运行。
2.根据权利要求1所述的资源控制装置,其中,
所述限制值x的大小小于可使用的内存区域的大小,
所述资源分配部将所述控制对象的各进程作为对象进程,分配比由所述停止检测部检测到停止了的进程的时间点的所述对象进程使用的内存区域的大小大的大小作为所述缓和限制值。
3.根据权利要求2所述的资源控制装置,其中,
所述限制值x是对可使用的内存区域的大小乘以比1小的值α而得到的大小,
所述资源分配部分配对所述对象进程使用的内存区域的大小乘以所述值α的倒数而得到的大小作为所述缓和限制值。
4.根据权利要求1~3中的任意一项所述的资源控制装置,其中,
在存在其他进程进行动作所需要的进程即依存进程的情况下,所述进程控制部使依存进程优先在所述缓和限制值以下的大小的内存区域中进行缩退运行。
5.根据权利要求1~4中的任意一项所述的资源控制装置,其中,
所述进程控制部使使用的内存区域的大小大的进程优先在所述缓和限制值以下的大小的内存区域中进行缩退运行。
6.根据权利要求1~5中的任意一项所述的资源控制装置,其中,
所述进程控制部在使所述各进程在所述缓和限制值以下的大小的内存区域中进行缩退运行的情况下,在不再从所述控制对象的多个进程中检测到停止了的进程时,使所述控制对象的多个进程在所述限制值x以下的大小的内存区域中进行动作。
7.根据权利要求1~6中的任意一项所述的资源控制装置,其中,
所述资源控制装置还具有日志输出部,该日志输出部输出表示所述各进程使用的内存区域的大小和执行的处理中的至少任意一方的日志数据。
8.根据权利要求1~7中的任意一项所述的资源控制装置,其中,
所述进程控制部使作为垃圾回收器的进程优先在所述缓和限制值以下的大小的内存区域中进行缩退运行。
9.根据权利要求8所述的资源控制装置,其中,
所述资源控制装置还具有垃圾回收器估计部,该垃圾回收器估计部根据所述各进程的起动时刻估计作为垃圾回收器的进程,
所述进程控制部使由所述垃圾回收器估计部估计为作为垃圾回收器的进程的进程优先在所述缓和限制值以下的大小的内存区域中进行缩退运行。
10.一种资源控制方法,其中,
进程控制部在限制值x以下的大小的内存区域中使控制对象的多个进程进行动作,
停止检测部从所述控制对象的多个进程中检测停止了的进程,
资源分配部在由所述停止检测部检测到停止了的进程时,按照所述控制对象的每个进程分配可使用的内存区域的大小作为缓和限制值,
所述进程控制部在由所述停止检测部检测到停止了的进程时,使所述控制对象的各进程在由所述资源分配部分配给该进程的所述缓和限制值以下的大小的内存区域中进行缩退运行。
11.一种资源控制程序,其具有:
进程控制处理,在限制值x以下的大小的内存区域中使控制对象的多个进程进行动作;
停止检测处理,从所述控制对象的多个进程中检测停止了的进程;以及
资源分配处理,在通过所述停止检测处理检测到停止了的进程时,按照所述控制对象的每个进程分配可使用的内存区域的大小作为缓和限制值,
在所述进程控制处理中,在通过所述停止检测处理检测到停止了的进程时,使所述控制对象的各进程在通过所述资源分配处理分配给该进程的所述缓和限制值以下的大小的内存区域中进行缩退运行。
CN201880089640.0A 2018-02-28 2018-02-28 资源控制装置、资源控制方法和资源控制程序 Pending CN111742299A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/007429 WO2019167157A1 (ja) 2018-02-28 2018-02-28 リソース制御装置、リソース制御方法及びリソース制御プログラム

Publications (1)

Publication Number Publication Date
CN111742299A true CN111742299A (zh) 2020-10-02

Family

ID=67805240

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880089640.0A Pending CN111742299A (zh) 2018-02-28 2018-02-28 资源控制装置、资源控制方法和资源控制程序

Country Status (7)

Country Link
US (1) US11409566B2 (zh)
JP (1) JP6762450B2 (zh)
KR (1) KR102254797B1 (zh)
CN (1) CN111742299A (zh)
DE (1) DE112018006950B4 (zh)
TW (1) TW201937376A (zh)
WO (1) WO2019167157A1 (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010044131A1 (ja) * 2008-10-13 2010-04-22 三菱電機株式会社 リソース割り当て装置及びリソース割り当てプログラム及び記録媒体及びリソース割り当て方法
JP2012216092A (ja) * 2011-03-31 2012-11-08 Fujitsu Ltd リソース抑制プログラム、リソース監視プログラム、リソース抑制装置、リソース監視装置、リソース抑制方法、リソース監視方法及びリソース抑制システム
JP2014164715A (ja) * 2013-02-27 2014-09-08 Fujitsu Ltd 制御装置、リソース制御プログラムおよびリソース制御方法
JP2015109020A (ja) * 2013-12-05 2015-06-11 三菱電機株式会社 リソース配分装置、リソース配分システム、リソース配分方法及びプログラム
US20160124672A1 (en) * 2014-10-31 2016-05-05 Xiaomi Inc. Method and device for optimizing memory
CN105824702A (zh) * 2016-03-22 2016-08-03 乐视云计算有限公司 一种管理程序内存占用量的方法和终端
CN106055407A (zh) * 2016-05-25 2016-10-26 努比亚技术有限公司 进程资源调整装置及方法
JP2017062721A (ja) * 2015-09-25 2017-03-30 日本電気株式会社 資源割当変更装置、資源割当変更方法、ならびに、プログラム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000293386A (ja) 1999-04-12 2000-10-20 Hitachi Ltd メモリ管理方式
JP2001331348A (ja) 2000-05-24 2001-11-30 Nec Software Kobe Ltd プロセスメモリ消費量増加傾向検出方式
JP3974762B2 (ja) 2001-09-19 2007-09-12 株式会社リコー 画像処理装置および画像処理方法
JP2006099332A (ja) * 2004-09-29 2006-04-13 Sony Corp 情報処理装置、プロセス制御方法、並びにコンピュータ・プログラム
JP2009238011A (ja) 2008-03-27 2009-10-15 Nec Corp 実行環境の制御方法およびプログラム
WO2010050335A1 (ja) * 2008-10-27 2010-05-06 株式会社 日立製作所 リソース管理方法と組込み装置
KR100901286B1 (ko) 2008-12-23 2009-06-09 어울림정보기술주식회사 다중 코어 프로세서에서의 부하 변화에 따른 실시간 프로세스 동적 할당 시스템 및 그 방법
JP5601587B2 (ja) 2011-02-15 2014-10-08 Necソリューションイノベータ株式会社 プロセス再起動装置、プロセス再起動方法およびプロセス再起動プログラム
WO2012127596A1 (ja) 2011-03-19 2012-09-27 富士通株式会社 端末装置、プロセス管理方法、およびプロセス管理プログラム
WO2013145288A1 (ja) 2012-03-30 2013-10-03 富士通株式会社 情報処理装置、仮想マシン停止方法およびプログラム
CN104407924B (zh) 2014-10-31 2017-11-21 小米科技有限责任公司 内存优化方法及装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010044131A1 (ja) * 2008-10-13 2010-04-22 三菱電機株式会社 リソース割り当て装置及びリソース割り当てプログラム及び記録媒体及びリソース割り当て方法
JP2012216092A (ja) * 2011-03-31 2012-11-08 Fujitsu Ltd リソース抑制プログラム、リソース監視プログラム、リソース抑制装置、リソース監視装置、リソース抑制方法、リソース監視方法及びリソース抑制システム
JP2014164715A (ja) * 2013-02-27 2014-09-08 Fujitsu Ltd 制御装置、リソース制御プログラムおよびリソース制御方法
JP2015109020A (ja) * 2013-12-05 2015-06-11 三菱電機株式会社 リソース配分装置、リソース配分システム、リソース配分方法及びプログラム
US20160124672A1 (en) * 2014-10-31 2016-05-05 Xiaomi Inc. Method and device for optimizing memory
JP2017062721A (ja) * 2015-09-25 2017-03-30 日本電気株式会社 資源割当変更装置、資源割当変更方法、ならびに、プログラム
CN105824702A (zh) * 2016-03-22 2016-08-03 乐视云计算有限公司 一种管理程序内存占用量的方法和终端
CN106055407A (zh) * 2016-05-25 2016-10-26 努比亚技术有限公司 进程资源调整装置及方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
杨峰: "基于Linux内核的动态内存管理机制的实现", 计算机工程, no. 09 *

Also Published As

Publication number Publication date
JPWO2019167157A1 (ja) 2020-05-28
TW201937376A (zh) 2019-09-16
JP6762450B2 (ja) 2020-09-30
US11409566B2 (en) 2022-08-09
DE112018006950T5 (de) 2020-11-19
KR20200102526A (ko) 2020-08-31
DE112018006950B4 (de) 2022-07-14
KR102254797B1 (ko) 2021-05-21
US20210132997A1 (en) 2021-05-06
WO2019167157A1 (ja) 2019-09-06

Similar Documents

Publication Publication Date Title
US7836344B2 (en) Method for automatic dump assurance
US20120297236A1 (en) High availability system allowing conditionally reserved computing resource use and reclamation upon a failover
US8443178B2 (en) Operating system image shrinking apparatus and method and computer readable tangible medium storing a program for operating system image shrinking
US10084452B2 (en) Information processing apparatus, image processing apparatus with information processing apparatus, and control method for information processing apparatus
US20190278505A1 (en) Management apparatus, management method, and non-transitory computer-readable storage medium for storing program
JP5403054B2 (ja) メモリダンプ機能を有するサーバおよびメモリダンプ取得方法
US20150026694A1 (en) Method of processing information, storage medium, and information processing apparatus
JP2017224051A (ja) 情報処理装置、情報処理方法およびプログラム
US20150286548A1 (en) Information processing device and method
US9021481B2 (en) Computer-readable recording medium, migration control method and control device
CN109002348B (zh) 一种虚拟化系统中的负载均衡方法及装置
JP6880961B2 (ja) 情報処理装置、およびログ記録方法
WO2024109076A1 (zh) 内存管理方法、计算机设备及存储介质
US10360990B2 (en) Information processing device, information processing method, and program
CN111742299A (zh) 资源控制装置、资源控制方法和资源控制程序
CN105700656B (zh) 待机异常耗电侦测系统及方法
US20140372806A1 (en) Virtual machine system and information storing processing method
CN110908606B (zh) 一种分布式文件系统的数据重构方法
US7769976B2 (en) Identifying code that wastes virtual memory
CN113590381B (zh) 特征分发方法、装置、电子设备及计算机可读存储介质
JP7368552B1 (ja) 情報処理装置、及び制御方法
US10705149B2 (en) Voltage drop detection through data corruption detection
US20220308912A1 (en) Setting changing device, setting changing method, and computer readable medium
CN109992374A (zh) 一种应用实例的管理方法、装置及计算机可读存储介质
CN109284410B (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