CN115391032A - 一种用于工业物联网边缘设备的内存优化方法 - Google Patents

一种用于工业物联网边缘设备的内存优化方法 Download PDF

Info

Publication number
CN115391032A
CN115391032A CN202210976193.9A CN202210976193A CN115391032A CN 115391032 A CN115391032 A CN 115391032A CN 202210976193 A CN202210976193 A CN 202210976193A CN 115391032 A CN115391032 A CN 115391032A
Authority
CN
China
Prior art keywords
memory
memory area
newly
built
space
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
CN202210976193.9A
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.)
Shanghai Huicheng Intelligent System Co ltd
Shanghai H Visions Engineering Technology Service Co ltd
Original Assignee
Shanghai Huicheng Intelligent System Co ltd
Shanghai H Visions Engineering Technology Service Co ltd
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 Shanghai Huicheng Intelligent System Co ltd, Shanghai H Visions Engineering Technology Service Co ltd filed Critical Shanghai Huicheng Intelligent System Co ltd
Priority to CN202210976193.9A priority Critical patent/CN115391032A/zh
Publication of CN115391032A publication Critical patent/CN115391032A/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
    • 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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • 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/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Memory System (AREA)

Abstract

本发明属于工业物联网领域,提供了一种用于工业物联网边缘设备的内存优化方法,在本发明提供的内存优化方法中,在所述新建进程需要分配到第二内存区域进行运行时,基于所述新建进程所占用的内存占用值,判断第二内存区域的内存空间余量是否满足当前新建进程的运行空间需求,若满足,则将所述新建进程分配到第二内存区域进行运行,若不满足,则对所述第二内存区域进行自动优化调整至使得第二内存区域的内存空间余量满足当前新建进程的运行空间需求,能够根据新建进程运行的空间需求,在系统内存中及时提供满足当前新建进程的运行空间,避免了传统内存优化方法中,直接关闭高占用内存的应用,导致对高占用内存的重要进程造成误关的问题。

Description

一种用于工业物联网边缘设备的内存优化方法
技术领域
本发明属于工业物联网领域,尤其涉及一种用于工业物联网边缘设备的内存优化方法。
背景技术
边缘设备是指连接云服务器和终端数据源(传感器,设备),并具有存储、计算和网络连接能力的设备。在工业物联网中,边缘计算与可编程控制器PLC的结合产生了新一代的边缘PLC产品,这些PLC集PC机、OPC服务器、边缘网管为一体,具有监控、控制、数据采集、可视化设备、过程控制、云服务等功能。
发展边缘工业物联网首先要解决边缘设备高效管理以及有限资源的竞争分配问题。边缘设备的存储空间是有限的,当大量的物联网终端设备发出服务请求时,在边缘物联网中保障节点的存储可靠性和效率是一个严峻的挑战,因此,在当出现设备内存需求超过设备运行最大内存占用限制时,需要对一些进程进行优化,而目前的技术中现有的内存优化方式主要是针对应用整体进行内存优化,比较直接的是杀死高占用内存的应用,这样虽然能够快速释放内存,但这样容易对高占用内存的重要进程造成误杀。
发明内容
本发明的目的在于提供一种用于工业物联网边缘设备的内存优化方法,旨在解决上述背景技术中所提出的技术问题。
为实现上述目的,本发明提供了如下的技术方案。
一种用于工业物联网边缘设备的内存优化方法,所述的内存优化方法包括:
检测新建进程所占用的内存占用值;
根据新建进程的优先级将所述新建进程分配到对应的内存区域,所述对应的内存区域包括第一内存区域和第二内存区域;
在所述新建进程需要分配到第二内存区域进行运行时,基于所述新建进程所占用的内存占用值,判断第二内存区域的内存空间余量是否满足当前新建进程的运行空间需求,若满足,则将所述新建进程分配到第二内存区域进行运行,若不满足,则对所述第二内存区域进行自动优化调整至使得第二内存区域的内存空间余量满足当前新建进程的运行空间需求。
在本发明提供的一个实施例中,所述的内存优化方法还包括:
在所述新建进程需要分配到第一内存区域进行运行时,判断第一内存区域的剩余内存是否满足新建进程的运行空间需求,若满足,则将新建进程分配到第一内存区域进行运行,若不满足,则对第一内存区域的内存空间大小进行调整,以使第一内存区域的剩余内存满足当前新建进程的运行要求。
在本发明提供的一个实施例中,所述对第一内存区域的内存空间大小进行调整包括:
检测第二内存区域的内存空间余量;
在所述第二内存区域的内存空间余量与第一内存区域的内存空间余量之和不小于新建进程所占用的内存占用值时,将所述第二内存区域的内存空间余量扩充至第一内存区域;
在所述第二内存区域的内存空间余量与第一内存区域的内存空间余量之和小于新建进程所占用的内存占用值时,对当前的新建进程进行预警,以提醒操作人员及时从第一内存区域中进行内存空间的手动释放。
在本发明提供的一个实施例中,所述根据新建进程的优先级将所述新建进程分配到对应的内存区域包括;
提取新建进程的优先级;
将所述优先级与优先阈值进行比对;
在所述优先级大于优先阈值时,将所述新建进程分配到第一内存区域;
在所述优先级不大于优先阈值时,将所述新建进程分配到第二内存区域。
在本发明提供的一个实施例中,所述对所述第二内存区域进行自动优化调整包括:
根据进程关联关系对所述第二内存区域中的多个运行进程进行关联性分类;
根据分类结果,对第二内存区域中的一个或多个运行进程进行关闭。
在本发明提供的一个实施例中,所述进程关联关系的建立包括:
获取进程A在预设时间周期内的第一运行时间段;
获取进程B在预设时间周期内的第二运行时间段;
计算第一运行时间段和第二运行时间段的重叠时间的时长,在所述重叠时间的时长大于关联阈值时,将进程A和进程B建立进程关联关系。
在本发明提供的一个实施例中,所述关联性分类包括:
对第二内存区域中多个运行进程的关联性关系进行逐一比对;
将存在关联性关系的进程作为必要进程;
将不存在关联性关系的进程作为非必要进程。
在本发明提供的一个实施例中,所述根据分类结果,对第二内存区域中的一个或多个运行进程进行关闭包括:将分类结果中的非必要进程进行关闭,以对第二内存区域的内存空间进行释放,以使得第二内存区域的内存空间余量满足当前新建进程的运行空间需求。
在本发明提供的一个实施例中,所述将分类结果中的非必要进程进行关闭包括;获取非必要进程的建立时间,根据建立时间的顺序对非必要进程进行排序,根据排序结果对非必要进程进行逐一关闭。
在本发明提供的一个实施例中,在对非必要进程进行逐一关闭的过程中,实时判断第二内存区域的内存空间余量是否满足当前新建进程的运行空间需求,若满足,则暂停对余下的非必要进程的关闭动作。
综上所述,在本发明提供的用于工业物联网边缘设备的内存优化方法中,在所述新建进程需要分配到第二内存区域进行运行时,基于所述新建进程所占用的内存占用值,判断第二内存区域的内存空间余量是否满足当前新建进程的运行空间需求,若满足,则将所述新建进程分配到第二内存区域进行运行,若不满足,则对所述第二内存区域进行自动优化调整至使得第二内存区域的内存空间余量满足当前新建进程的运行空间需求,能够根据新建进程运行的空间需求,在系统内存中及时提供满足当前新建进程的运行空间,避免了传统内存优化方法中,直接关闭高占用内存的应用,导致对高占用内存的重要进程造成误关的问题。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例。
图1为本发明一种用于工业物联网边缘设备的内存优化方法的实现流程图;
图2为本发明提供的内存优化方法的一个实现子流程图;
图3为本发明提供的内存优化方法的另一个实现子流程图;
图4为本发明提供的用于实现内存优化方法的内存优化装置的结构框图;
图5为本发明提供的一种计算机设备的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
已知的,边缘设备的存储空间是有限的,当大量的物联网终端设备发出服务请求时,在边缘物联网中保障节点的存储可靠性和效率是一个严峻的挑战,因此,在当出现设备内存需求超过设备运行最大内存占用限制时,需要对一些进程进行优化,而目前的技术中现有的内存优化方式主要是针对应用整体进行内存优化,比较直接的是杀死高占用内存的应用,这样虽然能够快速释放内存,但这样容易对高占用内存的重要进程造成误杀。
为解决上述问题,本发明提供的用于工业物联网边缘设备的内存优化方法,在所述新建进程需要分配到第二内存区域进行运行时,基于所述新建进程所占用的内存占用值,判断第二内存区域的内存空间余量是否满足当前新建进程的运行空间需求,若满足,则将所述新建进程分配到第二内存区域进行运行,若不满足,则对所述第二内存区域进行自动优化调整至使得第二内存区域的内存空间余量满足当前新建进程的运行空间需求,能够根据新建进程运行的空间需求,在系统内存中及时提供满足当前新建进程的运行空间,避免了传统内存优化方法中,直接关闭高占用内存的应用,导致对高占用内存的重要进程造成误关的问题。
以下结合具体实施例对本发明的具体实现进行详细描述。
实施例1
如图1所示,在本发明实施例中,一种用于工业物联网边缘设备的内存优化方法,本发明的内存优化方法可应用于工业设备,可对工业设备的内存空间进行优化,以使新建进程能够在工业设备上正常运行,具体的,所述的内存优化方法包括:
步骤S101:检测新建进程所占用的内存占用值;
本发明实施例可定时检测一次目标进程所占用的内存占用值,示例性的,如每隔0.5秒检测一次目标进程所占用的内存占用值,具体定时时间可视实际情况设定。
步骤S102:根据新建进程的优先级将所述新建进程分配到对应的内存区域,所述对应的内存区域包括第一内存区域和第二内存区域;
在本发明实施例中,通过对工业设备系统的内存空间划分出第一内存区域和第二内存区域,其中第一内存区域用于运行优先级高的进程,也就是说把重要的进程放到第一内存区域中进行运行,在进程的自动优化过程中,不涉及对第一内存区域中的进程的优化,这样也就不必对第一内存区域中的进程进行评估扫描,可以节省进程优化的时间,也同时保证了重要进程的持续的运行,避免被错误关闭。
另外,在本发明实施例中,第一内存区域的内存空间与第二内存区域的内存空间可以进行动态调整,即可以增加第一内存区域的内存空间的同时,第二内存区域的内存空间也会相应的减少,但第一内存区域的内存空间与第二内存区域的内存空间之和为工业设备系统内存空间。
步骤S103:在所述新建进程需要分配到第二内存区域进行运行时,基于所述新建进程所占用的内存占用值,判断第二内存区域的内存空间余量是否满足当前新建进程的运行空间需求,若满足,则将所述新建进程分配到第二内存区域进行运行,若不满足,则对所述第二内存区域进行自动优化调整至使得第二内存区域的内存空间余量满足当前新建进程的运行空间需求。
在本发明实施例中,在新建进程时,通过对新建进程的优先级进行确认,即判断当前新建进程的重要程度,在当前新建进程的优先级大于预设的优先阈值时,此时,将当前的新建进程分配到第一内存区域的内存空间进行运行,反之,将新建进程分配到第二内存区域的内存空间进行运行。
进一步的,在本发明实施例中,所述的内存优化方法还包括:
在所述新建进程需要分配到第一内存区域进行运行时,判断第一内存区域的剩余内存是否满足新建进程的运行空间需求,若满足,则将新建进程分配到第一内存区域进行运行,若不满足,则对第一内存区域的内存空间大小进行调整,以使第一内存区域的剩余内存满足当前新建进程的运行要求。
其中,在本发明实施例中,对第一内存区域的内存空间大小进行调整的过程中,需要先检查第二内存区域的内存空间的余量,当余量不足时,则不再对第一内存区域的内存空间大小进行调整,转而对当前新建进程进行预警,以提醒操作人员对第一内存区域中的内存空间进行手动释放。
具体的,如图2所示,在本发明提供的示例性实施例中,所述对第一内存区域的内存空间大小进行调整包括:
步骤S201:检测第二内存区域的内存空间余量;
在本发明实施例中,对于第二内存区域的内存空间余量的检查,可以以第二内存区域的整个空间大小为基准,检测剩余的余量,也可以是以可用空间大小为基准,例如整个第二内存区域的整个空间大小为S,可用空间大小为S1,缓冲空间大小为S2,已用空间大小为S3,则在前者情况下,余量为S-S3;在后者情况下,余量为S1-S3,其中,S1+S2=S。
作为优选,在本发明实施例中,所述检测第二内存区域的内存空间余量的步骤中,采用以可用空间大小S1为基准,进行第二内存区域的内存空间余量的检测。
步骤S202:在所述第二内存区域的内存空间余量与第一内存区域的内存空间余量之和不小于新建进程所占用的内存占用值时,将所述第二内存区域的内存空间余量扩充至第一内存区域;
同样的,在本发明实施例中,对于第一内存区域的内侧空间余量的确认中,采用可用空间大小的方式,对第一内存区域的内存空间余量的检测。
步骤S203:在所述第二内存区域的内存空间余量与第一内存区域的内存空间余量之和小于新建进程所占用的内存占用值时,对当前的新建进程进行预警,以提醒操作人员及时从第一内存区域中进行内存空间的手动释放。
可以理解的是,本发明实施例中的缓冲空间用于进程的运行提供缓冲空间。
在本发明提供的示例性实施例中,所述根据新建进程的优先级将所述新建进程分配到对应的内存区域包括;
提取新建进程的优先级;
将所述优先级与优先阈值进行比对;
在所述优先级大于优先阈值时,将所述新建进程分配到第一内存区域;
在所述优先级不大于优先阈值时,将所述新建进程分配到第二内存区域。
在本发明实施例中,优先阈值用于区分工业设备系统中所要运行进程的重要程度,优先阈值的具体数值可根据工业设备运转场景中的实际情况设定,本发明于此不进行限定。
进一步的,如图3所示,在本发明提供的示例性实施例中,所述对所述第二内存区域进行自动优化调整包括:
步骤S301:根据进程关联关系对所述第二内存区域中的多个运行进程进行关联性分类;
步骤S302:根据分类结果,对第二内存区域中的一个或多个运行进程进行关闭。
在本发明实施例中,在对于多个运行进程进行关联性分类的过程中,将具有关联性的至少两个进程纳入同一组,因此,对于第二内存区域中的多个运行进程进行分类时,存在多个组,对于组内只有一个进程的所在组,进行关闭操作,可以理解的是,可能存在多个组内只有一个进程的组别,因此,根据组别的分类结果,对第二内存区域中的一个或多个运行进程进行关闭。
进一步的,在本发明实施例中,所述进程关联关系的建立包括:
获取进程A在预设时间周期内的第一运行时间段;
获取进程B在预设时间周期内的第二运行时间段;
计算第一运行时间段和第二运行时间段的重叠时间的时长,在所述重叠时间的时长大于关联阈值时,将进程A和进程B建立进程关联关系。
在本发明实施例中,通过对进程的历史运行过程中的时间周期,计算两个进程同时出现的时间,并将同时出现的重叠时间进行时长的总计,以确定两个进程之间的关联性,即进一步通过关联阈值来判定两个进程之间的关联性;
示例性的,在本发明实施例中,关联阈值用于区分两个进程之间关联是否紧密,关联阈值的具体数值可根据具体场景中的实际情况设定,本发明于此不进行限定。
进一步的,在本发明提供的一个实施例中,所述关联性分类包括:
对第二内存区域中多个运行进程的关联性关系进行逐一比对;
将存在关联性关系的进程作为必要进程;
将不存在关联性关系的进程作为非必要进程。
进一步的,在本发明实施例中,所述根据分类结果,对第二内存区域中的一个或多个运行进程进行关闭包括:将分类结果中的非必要进程进行关闭,以对第二内存区域的内存空间进行释放,以使得第二内存区域的内存空间余量满足当前新建进程的运行空间需求。
进一步的,当第二内存区域中具有多个非必要进程,且无需将全部非必要进程删除就可以使得第二内存区域的空间余量满足当前新建进程的运行空间需求时,则无需对全部的非必要进程进行关闭;具体的,在本发明实施例中,所述将分类结果中的非必要进程进行关闭包括;获取非必要进程的建立时间,根据建立时间的顺序对非必要进程进行排序,根据排序结果对非必要进程进行逐一关闭。
进一步的,在本发明实施例中,在对非必要进程进行逐一关闭的过程中,实时判断第二内存区域的内存空间余量是否满足当前新建进程的运行空间需求,若满足,则暂停对余下的非必要进程的关闭动作。
综上所述,在本发明提供的用于工业物联网边缘设备的内存优化方法中,在所述新建进程需要分配到第二内存区域进行运行时,基于所述新建进程所占用的内存占用值,判断第二内存区域的内存空间余量是否满足当前新建进程的运行空间需求,若满足,则将所述新建进程分配到第二内存区域进行运行,若不满足,则对所述第二内存区域进行自动优化调整至使得第二内存区域的内存空间余量满足当前新建进程的运行空间需求,能够根据新建进程运行的空间需求,在系统内存中及时提供满足当前新建进程的运行空间,避免了传统内存优化方法中,直接关闭高占用内存的应用,导致对高占用内存的重要进程造成误关的问题。
实施例2
如图4所示,在本发明实施例中,提供了一种用于实现如实施例1所提供的内存优化方法的内存优化装置,所述内存优化装置400包括:
内存检测模块401,所述内存检测模块用于检测新建进程所占用的内存占用值;
进程分配模块402,所述进程分配模块用于根据新建进程的优先级将所述新建进程分配到对应的内存区域,所述对应的内存区域包括第一内存区域和第二内存区域;
优化执行模块403,所述优化执行模块用于在所述新建进程需要分配到第二内存区域进行运行时,基于所述新建进程所占用的内存占用值,判断第二内存区域的内存空间余量是否满足当前新建进程的运行空间需求,若满足,则将所述新建进程分配到第二内存区域进行运行,若不满足,则对所述第二内存区域进行自动优化调整至使得第二内存区域的内存空间余量满足当前新建进程的运行空间需求。
实施例3
如图5所示,在本发明提供的实施例3中,还提供了一种计算机设备,所述的计算机设备500包括存储器501和处理器502,所述存储器501存储有算机程序,所述计算机程序被所述处理器502执行时,使得所述处理器502执行如上述实施例1所提供的用于工业物联网边缘设备的内存优化方法。
其中,在本发明实施例3中,所述的用于工业物联网边缘设备的内存优化方法包括:检测新建进程所占用的内存占用值;根据新建进程的优先级将所述新建进程分配到对应的内存区域,所述对应的内存区域包括第一内存区域和第二内存区域;在所述新建进程需要分配到第二内存区域进行运行时,基于所述新建进程所占用的内存占用值,判断第二内存区域的内存空间余量是否满足当前新建进程的运行空间需求,若满足,则将所述新建进程分配到第二内存区域进行运行,若不满足,则对所述第二内存区域进行自动优化调整至使得第二内存区域的内存空间余量满足当前新建进程的运行空间需求。
进一步的,本发明实施例提供的所述计算机设备500还可具有通讯接口503,用于接收控制指令。
实施例4
在本发明的再一个优选实施方式中,提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器502执行如上述实施例1所提供的用于工业物联网边缘设备的内存优化方法。
其中,在本发明实施例4中,所述的用于工业物联网边缘设备的内存优化方法包括:检测新建进程所占用的内存占用值;根据新建进程的优先级将所述新建进程分配到对应的内存区域,所述对应的内存区域包括第一内存区域和第二内存区域;在所述新建进程需要分配到第二内存区域进行运行时,基于所述新建进程所占用的内存占用值,判断第二内存区域的内存空间余量是否满足当前新建进程的运行空间需求,若满足,则将所述新建进程分配到第二内存区域进行运行,若不满足,则对所述第二内存区域进行自动优化调整至使得第二内存区域的内存空间余量满足当前新建进程的运行空间需求。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者通过所述计算机可读存储介质进行传输。所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:ROM或随机存储记忆体RAM、磁碟或者光盘等各种可存储程序代码的介质。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种用于工业物联网边缘设备的内存优化方法,其特征在于,所述优化方法包括:
检测新建进程所占用的内存占用值;
根据新建进程的优先级将所述新建进程分配到对应的内存区域,所述对应的内存区域包括第一内存区域和第二内存区域;
在所述新建进程需要分配到第二内存区域进行运行时,基于所述新建进程所占用的内存占用值,判断第二内存区域的内存空间余量是否满足当前新建进程的运行空间需求,若满足,则将所述新建进程分配到第二内存区域进行运行,若不满足,则对所述第二内存区域进行自动优化调整至使得第二内存区域的内存空间余量满足当前新建进程的运行空间需求。
2.根据权利要求1所述的用于工业物联网边缘设备的内存优化方法,其特征在于,所述的内存优化方法还包括:
在所述新建进程需要分配到第一内存区域进行运行时,判断第一内存区域的剩余内存是否满足新建进程的运行空间需求,若满足,则将新建进程分配到第一内存区域进行运行,若不满足,则对第一内存区域的内存空间大小进行调整,以使第一内存区域的剩余内存满足当前新建进程的运行要求。
3.根据权利要求2所述的用于工业物联网边缘设备的内存优化方法,其特征在于,所述对第一内存区域的内存空间大小进行调整包括:
检测第二内存区域的内存空间余量;
在所述第二内存区域的内存空间余量与第一内存区域的内存空间余量之和不小于新建进程所占用的内存占用值时,将所述第二内存区域的内存空间余量扩充至第一内存区域;
在所述第二内存区域的内存空间余量与第一内存区域的内存空间余量之和小于新建进程所占用的内存占用值时,对当前的新建进程进行预警,以提醒操作人员及时从第一内存区域中进行内存空间的手动释放。
4.根据权利要求3所述的用于工业物联网边缘设备的内存优化方法,其特征在于,所述根据新建进程的优先级将所述新建进程分配到对应的内存区域包括;
提取新建进程的优先级;
将所述优先级与优先阈值进行比对;
在所述优先级大于优先阈值时,将所述新建进程分配到第一内存区域;
在所述优先级不大于优先阈值时,将所述新建进程分配到第二内存区域。
5.根据权利要求2-4任一所述的用于工业物联网边缘设备的内存优化方法,其特征在于,所述对所述第二内存区域进行自动优化调整包括:
根据进程关联关系对所述第二内存区域中的多个运行进程进行关联性分类;
根据分类结果,对第二内存区域中的一个或多个运行进程进行关闭。
6.根据权利要求5所述的用于工业物联网边缘设备的内存优化方法,其特征在于,所述进程关联关系的建立包括:
获取进程A在预设时间周期内的第一运行时间段;
获取进程B在预设时间周期内的第二运行时间段;
计算第一运行时间段和第二运行时间段的重叠时间的时长,在所述重叠时间的时长大于关联阈值时,将进程A和进程B建立进程关联关系。
7.根据权利要求6所述的用于工业物联网边缘设备的内存优化方法,其特征在于,所述关联性分类包括:
对第二内存区域中多个运行进程的关联性关系进行逐一比对;
将存在关联性关系的进程作为必要进程;
将不存在关联性关系的进程作为非必要进程。
8.根据权利要求7所述的用于工业物联网边缘设备的内存优化方法,其特征在于,所述根据分类结果,对第二内存区域中的一个或多个运行进程进行关闭包括:将分类结果中的非必要进程进行关闭,以对第二内存区域的内存空间进行释放,以使得第二内存区域的内存空间余量满足当前新建进程的运行空间需求。
9.根据权利要求8所述的用于工业物联网边缘设备的内存优化方法,其特征在于,所述将分类结果中的非必要进程进行关闭包括;获取非必要进程的建立时间,根据建立时间的顺序对非必要进程进行排序,根据排序结果对非必要进程进行逐一关闭。
10.根据权利要求9所述的用于工业物联网边缘设备的内存优化方法,其特征在于,在对非必要进程进行逐一关闭的过程中,实时判断第二内存区域的内存空间余量是否满足当前新建进程的运行空间需求,若满足,则暂停对余下的非必要进程的关闭动作。
CN202210976193.9A 2022-08-15 2022-08-15 一种用于工业物联网边缘设备的内存优化方法 Pending CN115391032A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210976193.9A CN115391032A (zh) 2022-08-15 2022-08-15 一种用于工业物联网边缘设备的内存优化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210976193.9A CN115391032A (zh) 2022-08-15 2022-08-15 一种用于工业物联网边缘设备的内存优化方法

Publications (1)

Publication Number Publication Date
CN115391032A true CN115391032A (zh) 2022-11-25

Family

ID=84119070

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210976193.9A Pending CN115391032A (zh) 2022-08-15 2022-08-15 一种用于工业物联网边缘设备的内存优化方法

Country Status (1)

Country Link
CN (1) CN115391032A (zh)

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1635482A (zh) * 2003-12-29 2005-07-06 北京中视联数字系统有限公司 一种嵌入式系统内存管理的方法
CN103309812A (zh) * 2012-03-15 2013-09-18 中国移动通信集团公司 一种智能卡内存空间的分配方法及装置
CN107038074A (zh) * 2017-04-14 2017-08-11 努比亚技术有限公司 基于关联策略的内存优化装置及方法
CN107526640A (zh) * 2017-08-17 2017-12-29 广东欧珀移动通信有限公司 资源管理方法、装置、移动终端及计算机可读存储介质
CN108073452A (zh) * 2016-11-10 2018-05-25 阿里巴巴集团控股有限公司 一种动态语言的运行时环境处理方法、装置和设备
CN108184013A (zh) * 2017-12-19 2018-06-19 珠海市魅族科技有限公司 终端控制方法、装置、计算机装置及计算机可读存储介质
CN110727517A (zh) * 2019-10-12 2020-01-24 福建顶点软件股份有限公司 一种基于分区设计的内存分配方法和装置
CN111078408A (zh) * 2019-12-10 2020-04-28 Oppo(重庆)智能科技有限公司 内存分配方法、装置、存储介质及电子设备
CN111177024A (zh) * 2019-12-30 2020-05-19 青岛海尔科技有限公司 一种内存优化处理方法及装置
CN111831441A (zh) * 2020-07-01 2020-10-27 Oppo广东移动通信有限公司 内存回收方法、装置、存储介质及电子设备
CN112069196A (zh) * 2020-11-12 2020-12-11 腾讯科技(深圳)有限公司 基于数据库的数据处理方法、装置、设备及可读存储介质
CN112486659A (zh) * 2020-12-18 2021-03-12 北京浪潮数据技术有限公司 一种设备进程管理方法、设备进程管理系统及相关装置
CN112698950A (zh) * 2020-12-31 2021-04-23 杭州电子科技大学 一种用于工业物联网边缘设备的内存优化方法
CN113094173A (zh) * 2021-04-02 2021-07-09 烽火通信科技股份有限公司 一种基于dpdk的大页内存动态迁移的方法与装置
CN114385370A (zh) * 2022-01-18 2022-04-22 重庆紫光华山智安科技有限公司 内存分配方法、系统、设备及介质

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1635482A (zh) * 2003-12-29 2005-07-06 北京中视联数字系统有限公司 一种嵌入式系统内存管理的方法
CN103309812A (zh) * 2012-03-15 2013-09-18 中国移动通信集团公司 一种智能卡内存空间的分配方法及装置
CN108073452A (zh) * 2016-11-10 2018-05-25 阿里巴巴集团控股有限公司 一种动态语言的运行时环境处理方法、装置和设备
CN107038074A (zh) * 2017-04-14 2017-08-11 努比亚技术有限公司 基于关联策略的内存优化装置及方法
CN107526640A (zh) * 2017-08-17 2017-12-29 广东欧珀移动通信有限公司 资源管理方法、装置、移动终端及计算机可读存储介质
CN108184013A (zh) * 2017-12-19 2018-06-19 珠海市魅族科技有限公司 终端控制方法、装置、计算机装置及计算机可读存储介质
CN110727517A (zh) * 2019-10-12 2020-01-24 福建顶点软件股份有限公司 一种基于分区设计的内存分配方法和装置
CN111078408A (zh) * 2019-12-10 2020-04-28 Oppo(重庆)智能科技有限公司 内存分配方法、装置、存储介质及电子设备
CN111177024A (zh) * 2019-12-30 2020-05-19 青岛海尔科技有限公司 一种内存优化处理方法及装置
CN111831441A (zh) * 2020-07-01 2020-10-27 Oppo广东移动通信有限公司 内存回收方法、装置、存储介质及电子设备
CN112069196A (zh) * 2020-11-12 2020-12-11 腾讯科技(深圳)有限公司 基于数据库的数据处理方法、装置、设备及可读存储介质
CN112486659A (zh) * 2020-12-18 2021-03-12 北京浪潮数据技术有限公司 一种设备进程管理方法、设备进程管理系统及相关装置
CN112698950A (zh) * 2020-12-31 2021-04-23 杭州电子科技大学 一种用于工业物联网边缘设备的内存优化方法
CN113094173A (zh) * 2021-04-02 2021-07-09 烽火通信科技股份有限公司 一种基于dpdk的大页内存动态迁移的方法与装置
CN114385370A (zh) * 2022-01-18 2022-04-22 重庆紫光华山智安科技有限公司 内存分配方法、系统、设备及介质

Similar Documents

Publication Publication Date Title
CN113050607B (zh) 通过虚拟机自省进行安全事件检测
US10963285B2 (en) Resource management for virtual machines in cloud computing systems
US11455193B2 (en) Method for deploying virtual machines in cloud computing systems based on predicted lifetime
JP4618263B2 (ja) ソフトウェア挙動監視装置及びソフトウェア挙動監視システム
CN111538600B (zh) 消息处理方法、装置、计算机设备及存储介质
US11489735B2 (en) Dynamic network allocation apparatus, dynamic network allocation method and non-transitory computer-readable medium
US9489138B1 (en) Method and apparatus for reliable I/O performance anomaly detection in datacenter
CN102468982B (zh) 元素终端以及通信系统
CN111309644B (zh) 一种内存分配方法、装置和计算机可读存储介质
US20200169480A1 (en) Setting device, system, and setting method for cloud service
JP6940761B2 (ja) 情報処理装置、仮想マシン監視プログラム、および情報処理システム
CN115391032A (zh) 一种用于工业物联网边缘设备的内存优化方法
CN108733536B (zh) 监控管理系统及方法
CN110347546B (zh) 监控任务动态调整方法、装置、介质及电子设备
CN115174223B (zh) 一种工控主机安全防护方法、系统、智能终端及存储介质
WO2020000724A1 (zh) 云平台主机间通信负载的处理方法、电子装置及介质
US11315693B2 (en) Method and system for managing operation associated with an object on IoT enabled devices
US20220141185A1 (en) Communication terminal device, communication control method, and communication control program
JP6035905B2 (ja) ストレージシステムおよびストレージシステムの制御方法
CN110716876A (zh) 自动化验证可编程逻辑代码的测试平台及测试方法
CN112291288B (zh) 一种容器集群伸缩方法、装置、电子设备及可读存储介质
CN114389855B (zh) 异常网际互联协议ip地址的确定方法及装置
KR102183274B1 (ko) 분산 처리 시스템 및 그 방법, 그리고 이에 적용되는 장치
US20220141238A1 (en) Network security apparatus, network security system, and network security method
CN117056915B (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