CN114968840B - 一种内存使用量控制方法及*** - Google Patents
一种内存使用量控制方法及*** Download PDFInfo
- Publication number
- CN114968840B CN114968840B CN202210905078.2A CN202210905078A CN114968840B CN 114968840 B CN114968840 B CN 114968840B CN 202210905078 A CN202210905078 A CN 202210905078A CN 114968840 B CN114968840 B CN 114968840B
- Authority
- CN
- China
- Prior art keywords
- memory
- service device
- service
- usage
- occupied
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3037—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3055—Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Mathematical Physics (AREA)
- Multi Processors (AREA)
Abstract
本发明适用于计算机领域,提供了一种内存使用量控制方法及***,所述方法包括:检测多个服务设备的使用信息,所述使用信息至少包括内存使用信息,所述内存使用信息用于表征每个服务设备的终端所占用的内存增长使用变化;比较两个服务设备的内存增长使用变化,标记两个所述服务设备分别为第一服务设备和第二服务设备,其中第一服务设备的内存增长使用变化大于第二服务设备的内存增长使用变化,多个服务设备中每个服务设备可与另外两个服务设备分别共用内存,本发明的有益效果在于:能够适用于终端内存需求的灵活变化,在转移内存尽可能少的情况下,至少保证第一服务设备、第二服务设备的流畅运行,提升了用户的终端操作体验感。
Description
技术领域
本发明属于计算机领域,尤其涉及一种内存使用量控制方法及***。
背景技术
内存是程序与CPU进行沟通的桥梁,计算机(或者能够处理数据的其他部件)中所有程序的运行都是在内存中进行的,其作用是存放CPU中的运算数据、以及与硬盘等外部存储设备交换的数据,只要计算机在运行中,CPU就会把需要运算的数据调到内存中进行运算,当运算完成后CPU再将结果传送出来,内存的运行也决定了计算机的稳定运行。
现有技术中,程序被保存在存储设备中,通过使用CPU读入来实现程序指令的执行,这种机制称为存储程序方式,磁盘中存储的程序必须加载到内存中才能运行,一般的,服务器为终端等提供计算或者应用服务,然而,通过实施现有技术可以发现,终端对应的内存需求随着终端的数量以及用户操作需求的增加而增加,但是服务器的内存一般是固定的,难以适用于终端内存需求的多样变化,用户在终端的使用体验感较差。
发明内容
本发明实施例的目的在于提供一种内存使用量控制方法及***,旨在解决上述背景技术中提出的问题。
本发明实施例是这样实现的,一方面,一种内存使用量控制方法,所述方法包括以下步骤:
检测多个服务设备的使用信息,所述使用信息至少包括内存使用信息,所述内存使用信息用于表征每个服务设备的终端所占用的内存增长使用变化;
比较两个服务设备的内存增长使用变化,标记两个所述服务设备分别为第一服务设备和第二服务设备,其中第一服务设备的内存增长使用变化大于第二服务设备的内存增长使用变化,多个服务设备中每个服务设备可与另外两个服务设备分别共用内存;
当第一服务设备的内存使用量达到第一阈值但小于第二阈值时,尝试将第二服务设备的写操作和读操作中较大的占用内存转移到另一个共用内存;
当第一服务设备的内存使用量达到第二阈值但小于第三阈值时,尝试将第二服务设备的读写操作占用内存全部转移到另一个共用内存;
当第一服务设备的内存使用量达到第三阈值时,尝试将第一服务设备的占用内存部分转移到又一个共用内存。
作为本发明的进一步方案,所述检测多个服务设备的使用信息,所述使用信息至少包括内存使用信息,所述内存使用信息用于表征每个服务设备的终端所占用的内存增长使用变化具体包括:
获取检测周期的输入;
每间隔单个检测周期同步检测一次多个服务设备的使用信息,解析所述使用信息中的内存增长量;
根据所述单个检测周期和所述内存增长量计算每个服务设备的终端所占用的内存增长使用变化,生成多个服务设备的使用信息。
作为本发明的再进一步方案,所述方法还包括:
建立每个服务设备与其他两个服务设备之间的内存共用通道,其中第一服务设备与第二服务设备之间共用第一内存,第一服务设备与第三服务设备之间共用第二内存,并且第二服务设备还与另一个服务设备共用内存,第三服务设备还与又一个服务设备共用内存;
根据所述内存共用通道控制每个服务设备的内存使用分配量。
作为本发明的又进一步方案,所述当第一服务设备的内存使用量达到第一阈值但小于第二阈值时,尝试将第二服务设备的写操作和读操作中较大的占用内存转移到另一个共用内存具体包括:
当检测到第一服务设备的内存使用量达到第一阈值但小于第二阈值时,获取第二服务设备对应的终端使用内存中写操作和读操作的占用信息;
根据所述占用信息判断所述写操作和读操作中较大的占用内存;
当且仅当检测到另一个共用内存的使用占比低于第一占比阈值时,将第二服务设备的写操作和读操作中较大的占用内存转移到另一个共用内存。
作为本发明的进一步方案,所述当第一服务设备的内存使用量达到第三阈值时,尝试将第一服务设备的占用内存部分转移到又一个共用内存具体包括:
当检测到第一服务设备的内存使用量大于第二阈值时,判断第一服务设备的内存使用量是否达到第三阈值;
当第一服务设备的内存使用量达到第三阈值,且判断与第一服务设备对应的又一个共用内存的使用占比低于第一占比阈值时,将第一服务设备的占用内存部分转移到又一个共用内存,以使得与第一服务设备对应的又一个共用内存的使用占比信息仍然低于第一占比阈值。
作为本发明的进一步方案,所述占用内存包括已使用内存和/或后续使用内存。
作为本发明的进一步方案,所述方法还包括:
为所述服务设备的终端标记第一转移序列号,其中所述第一转移序列号从高到低的顺序与每个终端的总应用占用内存从大到小的顺序正向对应;
获取上一个检测周期内每个终端的应用的使用时间,将所述应用按照使用时间按照从大到小的顺序排列,生成第二转移序列号,其中第二转移序列号的优先级高于第一转移序列号;
按照第一转移序列号和第二转移序列号的顺序为终端转移占用内存。
作为本发明的进一步方案,另一方面,一种内存使用量控制***,所述***包括:
检测模块,用于检测多个服务设备的使用信息,所述使用信息至少包括内存使用信息,所述内存使用信息用于表征每个服务设备的终端所占用的内存增长使用变化;
比较和标记模块,用于比较两个服务设备的内存增长使用变化,标记两个所述服务设备分别为第一服务设备和第二服务设备,其中第一服务设备的内存增长使用变化大于第二服务设备的内存增长使用变化,多个服务设备中每个服务设备可与另外两个服务设备分别共用内存;
内存共用模块,所述内存共用模块用于:
当第一服务设备的内存使用量达到第一阈值但小于第二阈值时,尝试将第二服务设备的写操作和读操作中较大的占用内存转移到另一个共用内存;
当第一服务设备的内存使用量达到第二阈值但小于第三阈值时,尝试将第二服务设备的读写操作占用内存全部转移到另一个共用内存;
当第一服务设备的内存使用量达到第三阈值时,尝试将第一服务设备的占用内存部分转移到又一个共用内存。
本发明实施例提供的一种内存使用量控制方法及***,通过比较两个服务设备的内存增长使用变化,标记两个所述服务设备分别为第一服务设备和第二服务设备,其中第一服务设备的内存增长使用变化大于第二服务设备的内存增长使用变化,从而区分出第一服务设备和第二服务设备,为后续优先考虑第一服务设备的流畅运行做准备;多个服务设备中每个服务设备可与另外两个服务设备分别共用内存,在一般情况下,第一服务设备和第二服务设备的内存增长均比较小时,第一服务设备和第二服务设备共用一个内存,并且该内存也能够保证第一服务设备和第二服务设备的正常流畅运行,利于节省运营成本;当第一服务设备的内存使用量达到第一阈值但小于第二阈值、达到第二阈值但小于第三阈值以及达到第三阈值时,分别采用不同的运行内存转移方案,能够适用于终端内存需求的灵活变化,在转移内存尽可能少的情况下,至少保证第一服务设备、第二服务设备的流畅运行,提升了用户的终端操作体验感。
附图说明
图1是一种内存使用量控制方法的主流程图。
图2是一种内存使用量控制方法的实施环境图。
图3是一种内存使用量控制方法中检测多个服务设备的使用信息的流程图。
图4是一种内存使用量控制方法中建立每个服务设备与其他两个服务设备之间的内存共用通道相关的流程图。
图5是尝试将第二服务设备的写操作和读操作中较大的占用内存转移到另一个共用内存的流程图。
图6是当第一服务设备的内存使用量达到第三阈值时,尝试将第一服务设备的占用内存部分转移到又一个共用内存的流程图。
图7是按照第一转移序列号和第二转移序列号的顺序为终端30转移占用内存的流程图。
图8是一种内存使用量控制***的主结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
以下结合具体实施例对本发明的具体实现进行详细描述。
本发明提供的一种内存使用量控制方法及***,解决了背景技术中的技术问题。
如图2所示,其为一种内存使用量控制方法的实施环境图,每个服务设备10对应有多个终端30,服务设备10包括第一服务设备和第二服务设备;并且每个服务设备10可与另外两个服务设备10分别共用内存件20,每个服务设备10与共用内存件20共同形成具有完整数据处理功能的部件,如服务器,内存件20可以是服务设备10的主要存储区或者是携带有存储功能的部件,其中内存件20可以与服务设备10之间进行有线通讯或者无线通讯,在此不做限定;终端30包括但是不限于为PC机、智能手机等。
下面结合详细实施例进行描述。
如图1所示,一种内存使用量控制方法,所述方法包括:
步骤S10:检测多个服务设备10的使用信息,所述使用信息至少包括内存使用信息,所述内存使用信息用于表征每个服务设备10的终端30所占用的内存增长使用变化;
步骤S11:比较两个服务设备10的内存增长使用变化,标记两个所述服务设备10分别为第一服务设备和第二服务设备,其中第一服务设备的内存增长使用变化大于第二服务设备的内存增长使用变化,多个服务设备10中每个服务设备10可与另外两个服务设备10分别共用内存;
步骤S12:当第一服务设备的内存使用量达到第一阈值但小于第二阈值时,尝试将第二服务设备的写操作和读操作中较大的占用内存转移到另一个共用内存;
步骤S13:当第一服务设备的内存使用量达到第二阈值但小于第三阈值时,尝试将第二服务设备的读写操作占用内存全部转移到另一个共用内存;
步骤S14:当第一服务设备的内存使用量达到第三阈值时,尝试将第一服务设备的占用内存部分转移到又一个共用内存。
本实施例在应用时,通过比较两个服务设备10的内存增长使用变化,标记两个所述服务设备10分别为第一服务设备和第二服务设备,其中第一服务设备的内存增长使用变化大于第二服务设备的内存增长使用变化,从而区分出第一服务设备和第二服务设备,为后续优先考虑第一服务设备的流畅运行做准备;多个服务设备10中每个服务设备10可与另外两个服务设备10分别共用内存,在一般情况下,第一服务设备和第二服务设备的内存增长均比较小时,第一服务设备和第二服务设备共用一个内存,并且该内存也能够保证第一服务设备和第二服务设备的正常流畅运行,利于节省运营成本;当第一服务设备的内存使用量达到第一阈值但小于第二阈值、达到第二阈值但小于第三阈值以及达到第三阈值时,分别采用不同的运行内存转移方案,能够适用于终端30内存需求的灵活变化,在转移内存尽可能少的情况下,至少保证第一服务设备、第二服务设备的流畅运行,提升了用户的终端30操作体验感。
如图3所示,作为本发明的一种优选实施例,所述检测多个服务设备10的使用信息,所述使用信息至少包括内存使用信息,所述内存使用信息用于表征每个服务设备10的终端30所占用的内存增长使用变化具体包括:
步骤S101:获取检测周期的输入;
步骤S102:每间隔单个检测周期同步检测一次多个服务设备10的使用信息,解析所述使用信息中的内存增长量;
步骤S103:根据所述单个检测周期和所述内存增长量计算每个服务设备10的终端30所占用的内存增长使用变化,生成多个服务设备10的使用信息。
本实施例在应用时,通过根据所述单个检测周期和所述内存增长量计算每个服务设备10的终端30所占用的内存增长使用变化,能够判断某一服务设备10的内存增长使用变化是否大于另一服务设备10的内存增长使用变化,从而区分出第一服务设备和第二服务设备,为后续优先考虑第一服务设备的流畅运行做准备。
如图4所示,作为本发明的一种优选实施例,所述方法还包括:
步骤S20:建立每个服务设备10与其他两个服务设备10之间的内存共用通道,其中第一服务设备与第二服务设备之间共用第一内存,第一服务设备与第三服务设备之间共用第二内存,并且第二服务设备还与另一个服务设备10共用内存,第三服务设备还与又一个服务设备10共用内存;
步骤S21:根据所述内存共用通道控制每个服务设备10的内存使用分配量。
应当理解的是,每个服务设备10与另外两个服务设备10共用内存,因此可以通过内存共用通道来协调使用服务设备10的内存使用分配量,当某个服务设备10的内存达到危险阈值(例如停顿时长达到预设时长时的内存阈值)时,向另外两个服务设备10发送请求转移使用内存的指令,两个服务设备10接收指令后判断是否接收使用内存的转移,并且能够先将自身的使用内存向外转移(例如转移给另外一个服务设备10更小的使用内存,以此类推),然后判断能够接收使用内存的转移,当然,这里的使用内存的转移百分比使用区间的形式可以表示为:[0,100%]。
如图5所示,作为本发明的一种优选实施例,所述当第一服务设备的内存使用量达到第一阈值但小于第二阈值时,尝试将第二服务设备的写操作和读操作中较大的占用内存转移到另一个共用内存具体包括:
步骤S121:当检测到第一服务设备的内存使用量达到第一阈值但小于第二阈值时,获取第二服务设备对应的终端30使用内存中写操作和读操作的占用信息;
步骤S122:根据所述占用信息判断所述写操作和读操作中较大的占用内存;
步骤S123:当且仅当检测到另一个共用内存的使用占比低于第一占比阈值时,将第二服务设备的写操作和读操作中较大的占用内存转移到另一个共用内存。
本实施例在应用时,通过检测到另一个共用内存的使用占比低于第一占比阈值时,将第二服务设备的写操作和读操作中较大的占用内存转移到另一个共用内存,不仅保证第一服务设备、第二服务设备的流畅运行,也可以同时保证与第二服务设备可共用内存的非第一服务设备的流畅运行。
同理可知,当第一服务设备的内存使用量达到第二阈值但小于第三阈值时,尝试将第二服务设备的读写操作占用内存全部转移到另一个共用内存时,如果在第一服务设备的重要性高于第二服务设备的情形下或者第二服务设备对应的终端30的内存需求大幅度下降的情形下,或者与第二服务设备共用内存的另一个服务设备10的内存需求非常小的情况下,能够将第二服务设备的读写操作占用内存全部转移到另一个共用内存,使得能够满足第一服务设备内存使用量激增到第二阈值的需求。
如图6所示,作为本发明的一种优选实施例,所述当第一服务设备的内存使用量达到第三阈值时,尝试将第一服务设备的占用内存部分转移到又一个共用内存具体包括:
步骤S141:当检测到第一服务设备的内存使用量大于第二阈值时,判断第一服务设备的内存使用量是否达到第三阈值;
步骤S142:当第一服务设备的内存使用量达到第三阈值,且判断与第一服务设备对应的又一个共用内存的使用占比低于第一占比阈值时,将第一服务设备的占用内存部分转移到又一个共用内存,以使得与第一服务设备对应的又一个共用内存的使用占比信息仍然低于第一占比阈值。
本实施例在应用时,这里考虑了第一服务设备的内存使用量达到第三阈值的极端情况,此时第一服务设备的内存使用量需求极大,第一服务设备和第二服务设备共用的内存已经难以满足第一服务设备对于数据迅速处理的要求,并且判断与第一服务设备对应的又一个共用内存的使用占比低于第一占比阈值时,将第一服务设备的占用内存部分转移到又一个共用内存,以使得与第一服务设备对应的又一个共用内存的使用占比信息仍然低于第一占比阈值,不仅保证第一服务设备的流畅运行,也可以同时保证与第一服务设备可共用内存的非第二服务设备的流畅运行,提升了用户的终端30操作体验感。
作为本发明的一种优选实施例,所述占用内存包括已使用内存和/或后续使用内存。
具体的,占用内存包括已使用内存、后续使用内存以及已使用内存和后续使用内存,也就是说,转移的占用内存应当包括这些情况,可以尽量保证在内存增长使用激增的情况下,保证数据调用和计算处理的顺畅性以及提升用户的终端30操作体验感。
如图7所示,作为本发明的一种优选实施例,所述方法还包括:
步骤S30:为所述服务设备10(的内存对应)的终端30标记第一转移序列号,其中所述第一转移序列号从高到低的顺序与每个终端30的总应用占用内存从大到小的顺序正向对应;
步骤S31:获取上一个检测周期内每个终端30的应用的使用时间,将所述应用按照使用时间按照从大到小的顺序排列,生成第二转移序列号,其中第二转移序列号的优先级高于第一转移序列号;
步骤S32:按照第一转移序列号和第二转移序列号的顺序为终端30转移占用内存。也就是说,经过第一转移序列号得到一个应用排列转移顺序,然后按照第一转移序列号对得到的应用排列转移顺序进行调整,得到终端30应用的内存转移顺序。
可以理解的是,这里的应用理解为应用程序或者软件、小程序,每个终端30的总应用占用内存从大到小的顺序即代表每个终端30对内存的占用比例,按照总应用占用内存从大到小的顺序来标记转移序列号,并且按照第一转移序列号和第二转移序列号的顺序为终端30转移占用内存,能够使得原内存尽快得到释放,并且对总应用占用内存比较小的终端30对应的用户而言,延迟转移的使用影响不大,因为其可以优先使用上一个检测周期内终端30的应用。
如图8所示,作为本发明的另一种优选实施例,另一方面,一种内存使用量控制***,所述***包括:
检测模块100,用于检测多个服务设备10的使用信息,所述使用信息至少包括内存使用信息,所述内存使用信息用于表征每个服务设备10的终端30所占用的内存增长使用变化;
比较和标记模块200,用于比较两个服务设备10的内存增长使用变化,标记两个所述服务设备10分别为第一服务设备和第二服务设备,其中第一服务设备的内存增长使用变化大于第二服务设备的内存增长使用变化,多个服务设备10中每个服务设备10可与另外两个服务设备10分别共用内存;
内存共用模块300,所述内存共用模块用于:
当第一服务设备的内存使用量达到第一阈值但小于第二阈值时,尝试将第二服务设备的写操作和读操作中较大的占用内存转移到另一个共用内存;
当第一服务设备的内存使用量达到第二阈值但小于第三阈值时,尝试将第二服务设备的读写操作占用内存全部转移到另一个共用内存;
当第一服务设备的内存使用量达到第三阈值时,尝试将第一服务设备的占用内存部分转移到又一个共用内存。
本发明上述实施例中提供了一种内存使用量控制方法,并基于该内存使用量控制方法提供了一种内存使用量控制***,通过比较两个服务设备10的内存增长使用变化,标记两个所述服务设备10分别为第一服务设备和第二服务设备,其中第一服务设备的内存增长使用变化大于第二服务设备的内存增长使用变化,从而区分出第一服务设备和第二服务设备,为后续优先考虑第一服务设备的流畅运行做准备;多个服务设备10中每个服务设备10可与另外两个服务设备10分别共用内存,在一般情况下,第一服务设备和第二服务设备的内存增长均比较小时,第一服务设备和第二服务设备共用一个内存,并且该内存也能够保证第一服务设备和第二服务设备的正常流畅运行,利于节省运营成本;当第一服务设备的内存使用量达到第一阈值但小于第二阈值、达到第二阈值但小于第三阈值以及达到第三阈值时,分别采用不同的运行内存转移方案,能够适用于终端30内存需求的灵活变化,在转移内存尽可能少的情况下,至少保证第一服务设备、第二服务设备的流畅运行,提升了用户的终端30操作体验感。
为了能够加载上述方法和***能够顺利运行,该***除了包括上述各种模块之外,还可以包括比上述描述更多或更少的部件,或者组合某些部件,或者不同的部件,例如可以包括输入输出设备、网络接入设备、总线、处理器和存储器等。
所称处理器可以是中央处理单元(CentralProcessingUnit,CPU),还可以是其他通用处理器、数字信号处理器(DigitalSignalProcessor,DSP)、专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)、现成可编程门阵列(Field-ProgrammableGateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,上述处理器是上述***的控制中心,利用各种接口和线路连接各个部分。
上述存储器可用于存储计算机以及***程序和/或模块,上述处理器通过运行或执行存储在存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现上述各种功能。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序(比如信息采集模板展示功能、产品信息发布功能等)等。存储数据区可存储根据泊位状态显示***的使用所创建的数据(比如不同产品种类对应的产品信息采集模板、不同产品提供方需要发布的产品信息等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(SmartMediaCard,SMC),安全数字(SecureDigital,SD)卡,闪存卡(FlashCard)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
本应该理解的是,虽然本发明各实施例的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,各实施例中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种内存使用量控制方法,其特征在于,所述方法包括:
检测多个服务设备的使用信息,所述使用信息至少包括内存使用信息,所述内存使用信息用于表征每个服务设备的终端所占用的内存增长使用变化;
比较两个服务设备的内存增长使用变化,标记两个所述服务设备分别为第一服务设备和第二服务设备,其中第一服务设备的内存增长使用变化大于第二服务设备的内存增长使用变化,多个服务设备中每个服务设备可与另外两个服务设备分别共用内存;
所述方法还包括:
建立每个服务设备与其他两个服务设备之间的内存共用通道,其中第一服务设备与第二服务设备之间共用第一内存,第一服务设备与第三服务设备之间共用第二内存,并且第二服务设备还与另一个服务设备共用内存,第三服务设备还与又一个服务设备共用内存;
根据所述内存共用通道控制每个服务设备的内存使用分配量;
当第一服务设备的内存使用量达到第一阈值但小于第二阈值时,尝试将第二服务设备的写操作和读操作中较大的占用内存转移到另一个共用内存;
当第一服务设备的内存使用量达到第二阈值但小于第三阈值时,尝试将第二服务设备的读写操作占用内存全部转移到另一个共用内存;
当第一服务设备的内存使用量达到第三阈值时,尝试将第一服务设备的占用内存部分转移到又一个共用内存。
2.根据权利要求1所述的内存使用量控制方法,其特征在于,所述检测多个服务设备的使用信息,所述使用信息至少包括内存使用信息,所述内存使用信息用于表征每个服务设备的终端所占用的内存增长使用变化具体包括:
获取检测周期的输入;
每间隔单个检测周期同步检测一次多个服务设备的使用信息,解析所述使用信息中的内存增长量;
根据所述单个检测周期和所述内存增长量计算每个服务设备的终端所占用的内存增长使用变化,生成多个服务设备的使用信息。
3.根据权利要求1所述的内存使用量控制方法,其特征在于,所述当第一服务设备的内存使用量达到第一阈值但小于第二阈值时,尝试将第二服务设备的写操作和读操作中较大的占用内存转移到另一个共用内存具体包括:
当检测到第一服务设备的内存使用量达到第一阈值但小于第二阈值时,获取第二服务设备对应的终端使用内存中写操作和读操作的占用信息;
根据所述占用信息判断所述写操作和读操作中较大的占用内存;
当且仅当检测到另一个共用内存的使用占比低于第一占比阈值时,将第二服务设备的写操作和读操作中较大的占用内存转移到另一个共用内存。
4.根据权利要求3所述的内存使用量控制方法,其特征在于,所述当第一服务设备的内存使用量达到第三阈值时,尝试将第一服务设备的占用内存部分转移到又一个共用内存具体包括:
当检测到第一服务设备的内存使用量大于第二阈值时,判断第一服务设备的内存使用量是否达到第三阈值;
当第一服务设备的内存使用量达到第三阈值,且判断与第一服务设备对应的又一个共用内存的使用占比低于第一占比阈值时,将第一服务设备的占用内存部分转移到又一个共用内存,以使得与第一服务设备对应的又一个共用内存的使用占比信息仍然低于第一占比阈值。
5.根据权利要求1-4任一所述的内存使用量控制方法,其特征在于,所述占用内存包括已使用内存和/或后续使用内存。
6.根据权利要求2所述的内存使用量控制方法,其特征在于,所述方法还包括:
为所述服务设备的终端标记第一转移序列号,其中所述第一转移序列号从高到低的顺序与每个终端的总应用占用内存从大到小的顺序正向对应;
获取上一个检测周期内每个终端的应用的使用时间,将所述应用按照使用时间按照从大到小的顺序排列,生成第二转移序列号,其中第二转移序列号的优先级高于第一转移序列号;
按照第一转移序列号和第二转移序列号的顺序为终端转移占用内存。
7.一种内存使用量控制***,其特征在于,所述***包括:
检测模块,用于检测多个服务设备的使用信息,所述使用信息至少包括内存使用信息,所述内存使用信息用于表征每个服务设备的终端所占用的内存增长使用变化;
比较和标记模块,用于比较两个服务设备的内存增长使用变化,标记两个所述服务设备分别为第一服务设备和第二服务设备,其中第一服务设备的内存增长使用变化大于第二服务设备的内存增长使用变化,多个服务设备中每个服务设备可与另外两个服务设备分别共用内存;
所述比较和标记模块还用于:
建立每个服务设备与其他两个服务设备之间的内存共用通道,其中第一服务设备与第二服务设备之间共用第一内存,第一服务设备与第三服务设备之间共用第二内存,并且第二服务设备还与另一个服务设备共用内存,第三服务设备还与又一个服务设备共用内存;
根据所述内存共用通道控制每个服务设备的内存使用分配量;
内存共用模块,所述内存共用模块用于:
当第一服务设备的内存使用量达到第一阈值但小于第二阈值时,尝试将第二服务设备的写操作和读操作中较大的占用内存转移到另一个共用内存;
当第一服务设备的内存使用量达到第二阈值但小于第三阈值时,尝试将第二服务设备的读写操作占用内存全部转移到另一个共用内存;
当第一服务设备的内存使用量达到第三阈值时,尝试将第一服务设备的占用内存部分转移到又一个共用内存。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210905078.2A CN114968840B (zh) | 2022-07-29 | 2022-07-29 | 一种内存使用量控制方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210905078.2A CN114968840B (zh) | 2022-07-29 | 2022-07-29 | 一种内存使用量控制方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114968840A CN114968840A (zh) | 2022-08-30 |
CN114968840B true CN114968840B (zh) | 2022-11-01 |
Family
ID=82970150
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210905078.2A Active CN114968840B (zh) | 2022-07-29 | 2022-07-29 | 一种内存使用量控制方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114968840B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011243162A (ja) * | 2010-05-21 | 2011-12-01 | Mitsubishi Electric Corp | 台数制御装置、台数制御方法及び台数制御プログラム |
CN110110262A (zh) * | 2019-05-07 | 2019-08-09 | 海信电子科技(深圳)有限公司 | 浏览器内存管理方法、装置和设备 |
CN111708629A (zh) * | 2020-04-30 | 2020-09-25 | 咪咕文化科技有限公司 | 一种资源分配方法、装置、电子设备和存储介质 |
CN113204407A (zh) * | 2021-04-22 | 2021-08-03 | 新华三大数据技术有限公司 | 一种内存超配管理方法及装置 |
WO2021207926A1 (zh) * | 2020-04-14 | 2021-10-21 | 深圳市欢太科技有限公司 | 确定内存的方法、统计服务器、物理机和存储介质 |
-
2022
- 2022-07-29 CN CN202210905078.2A patent/CN114968840B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011243162A (ja) * | 2010-05-21 | 2011-12-01 | Mitsubishi Electric Corp | 台数制御装置、台数制御方法及び台数制御プログラム |
CN110110262A (zh) * | 2019-05-07 | 2019-08-09 | 海信电子科技(深圳)有限公司 | 浏览器内存管理方法、装置和设备 |
WO2021207926A1 (zh) * | 2020-04-14 | 2021-10-21 | 深圳市欢太科技有限公司 | 确定内存的方法、统计服务器、物理机和存储介质 |
CN111708629A (zh) * | 2020-04-30 | 2020-09-25 | 咪咕文化科技有限公司 | 一种资源分配方法、装置、电子设备和存储介质 |
CN113204407A (zh) * | 2021-04-22 | 2021-08-03 | 新华三大数据技术有限公司 | 一种内存超配管理方法及装置 |
Non-Patent Citations (1)
Title |
---|
基于多核框架实时信号处理的内存管理;马申斌等;《工业控制计算机》;20170525(第05期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114968840A (zh) | 2022-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102460405B (zh) | 用于通过存储器装置来控制主机存储器存取的方法及*** | |
US11010094B2 (en) | Task management method and host for electronic storage device | |
CN111490947A (zh) | 数据包发送方法、数据包接收方法、***、设备及介质 | |
CN115357540B (zh) | 存储***及其计算存储处理器、固体硬盘和数据读写方法 | |
CN118069555A (zh) | 数据传输方法、装置、电子设备及存储介质 | |
CN114064236A (zh) | 任务执行方法、装置、设备和存储介质 | |
CN114968840B (zh) | 一种内存使用量控制方法及*** | |
CN114356591A (zh) | 进程间通信方法、装置、物联网操作***以及物联网设备 | |
CN117077221A (zh) | 一种硬盘丝印分配方法、装置、计算机设备及介质 | |
CN108959020B (zh) | 一种计算机cpu利用率的计算方法和装置 | |
CN116578410A (zh) | 资源管理方法、装置、计算机设备和存储介质 | |
CN115809126A (zh) | 混合部署场景下的作业调度方法、装置及电子设备 | |
CN115878333A (zh) | 进程组间的一致性判断方法、装置及设备 | |
EP3296878B1 (en) | Electronic device and page merging method therefor | |
CN112114959B (zh) | 资源调度方法、分布式***、计算机设备和存储介质 | |
US11579678B2 (en) | Software switch and method therein | |
CN112882831A (zh) | 一种数据处理方法及装置 | |
CN116185915B (zh) | 总线调度方法、装置及设备、介质和基板管理控制芯片 | |
CN118113445B (zh) | 数据传输方法、装置及设备、存储介质和计算机程序产品 | |
CN116185965B (zh) | 用于服务质量控制的方法、装置、设备及介质 | |
CN111651123B (zh) | 一种并发io请求的处理方法、装置、设备 | |
CN118132472B (zh) | 一种基于多接口ddr内存控制器的实现方法及装置 | |
CN117215966B (zh) | 一种芯片sdk接口的测试方法、测试装置及电子设备 | |
CN117492664B (zh) | 一种源数据双控双活存储控制方法、***、终端及介质 | |
CN116599917B (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 |