CN112416569A - 缓存内存调整方法、装置及计算机设备 - Google Patents
缓存内存调整方法、装置及计算机设备 Download PDFInfo
- Publication number
- CN112416569A CN112416569A CN202010981937.7A CN202010981937A CN112416569A CN 112416569 A CN112416569 A CN 112416569A CN 202010981937 A CN202010981937 A CN 202010981937A CN 112416569 A CN112416569 A CN 112416569A
- Authority
- CN
- China
- Prior art keywords
- memory
- length
- queue
- current
- cache
- 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
- 230000015654 memory Effects 0.000 title claims abstract description 526
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000004590 computer program Methods 0.000 claims description 11
- 230000026676 system process Effects 0.000 claims description 11
- 238000004422 calculation algorithm Methods 0.000 claims description 9
- 230000008569 process Effects 0.000 claims description 8
- 238000012544 monitoring process Methods 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 3
- 230000015556 catabolic process Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/123—Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
-
- 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
- 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
- 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
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/126—Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
- G06F12/127—Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning using additional replacement algorithms
-
- 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
- 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/0284—Multiple user address space allocation, e.g. using different base addresses
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
- G06F12/0895—Caches characterised by their organisation or structure of parts of caches, e.g. directory or tag array
-
- 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/1032—Reliability improvement, data loss prevention, degraded operation etc
-
- 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
- G06F2212/1044—Space efficiency improvement
-
- 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/1052—Security improvement
-
- 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/30—Providing cache or TLB in specific location of a processing system
- G06F2212/304—In main memory subsystem
- G06F2212/3042—In main memory subsystem being part of a memory device, e.g. cache DRAM
-
- 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/30—Providing cache or TLB in specific location of a processing system
- G06F2212/305—Providing cache or TLB in specific location of a processing system being part of a memory device, e.g. cache DRAM
-
- 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/46—Caching storage objects of specific type in disk cache
- G06F2212/463—File
-
- 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/50—Control mechanisms for virtual memory, cache or TLB
- G06F2212/502—Control mechanisms for virtual memory, cache or TLB using adaptive policy
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本申请公开了一种缓存内存调整方法、装置及计算机设备,该方法包括:获取当前时间区段的运行内存;根据所述运行内存和预设的保留内存计算出当前时间区段的空闲内存;根据所述空闲内存以及预设的内存块大小计算出当前内存队列长度;判断所述当前内存队列长度是否小于初始内存队列长度;当所述当前内存队列长度小于所述初始内存队列长度时,将所述当前内存队列长度设置为新初始内存队列长度,并将所述缓存内存中超出所述新初始内存队列长度的内存块释放掉。本申请还提供一种计算机可读存储介质。本申请能够有效避免运行较多应用程序时缓存待访问文件数据过多所导致的系统崩溃的问题。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种缓存内存调整方法、装置及计算机设备。
背景技术
一般来说,常见的计算机设备,比如,手机、平板电脑、便携设备、个人电脑,以及服务器等电子设备,一般会包括有CPU和内存储器。CPU(Central Processing Unit,中央处理器)作为计算机系统的运算和控制核心,是信息处理、程序运行的最终执行单元。内存储器也叫内存单元,内存单元直接与CPU相连接,其容量较小,但速度快,用来存放当前运行程序的指令和数据,并直接与CPU交换信息。
内存单元,一般用于存放计算机设备上运行应用程序时产生的数据,包括应用程序的进程数据和输入/输出时的必要配置数据,也就是系统应用数据;以及,存放一些待访问文件的缓存数据。例如,用于通过计算机运行视频播放软件观看视频时,其中,内存单元需要存储:视频播放软件运行时对应进程的所有数据;以及视频文件的缓存数据。
现有技术中,计算机设备通常会在内存单元中建立一个保留内存,用于在系统应用数据激增时释放保留内存出来满足系统应用数据的存储。然而,由于内存单元的容量限制,计算机设备在缓存较多待访问文件的缓存数据且运行较多应用程序时,通常还是会导致内存单元的崩溃。
发明内容
本申请提出一种缓存内存调整方法、装置及计算机设备,能够解决现有技术中内存单元缓存待访问文件数据且运行较多应用程序时导致的容易崩溃的问题。
首先,为实现上述目的,本申请提供一种缓存内存调整方法,所述方法包括:
获取当前时间区段的运行内存;根据所述运行内存和预设的保留内存计算出当前时间区段的空闲内存;根据所述空闲内存以及预设的内存块大小计算出当前内存队列长度;判断所述当前内存队列长度是否小于初始内存队列长度,其中,所述初始内存队列长度是内存单元中用于缓存非系统应用数据的缓存内存对应的内存队列长度;当所述当前内存队列长度小于所述初始内存队列长度时,将所述当前内存队列长度设置为新初始内存队列长度,并将所述缓存内存中超出所述新初始内存队列长度的内存块释放掉。
在一个例子中,所述获取当前时间区段的运行内存包括:监测当前时间区段处于运行状态的应用程序,并分别获取每个所述应用程序的占用内存;将所有所述应用程序的占用内存进行求和,得到所述运行内存。
在一个例子中,所述监测当前时间区段处于运行状态的应用程序,并分别获取每个所述系统程序的占用内存包括:通过系统应用程序接口获取系统进程表;从所述系统进程表中查询出当前时间区段运行的每个应用程序以及对应的占用内存。
在一个例子中,所述应用程序的占用内存包括进程堆栈区所占的内存以及网络套接字缓存。
在一个例子中,根据所述空闲内存以及预设的内存块大小计算出当前内存队列长度包括:将所述空闲内存与所述内存块大小进行整除运算,得到所述当前内存队列长度。
在一个例子中,所述将所述缓存内存中超出所述新初始内存队列长度的内存块释放掉包括:根据所述初始内存队列长度L、所述新初始内存队列长度L’和所述内存块大小C计算出需要释放的内存块个数G,其中,G=(L-L’)/C;将所述缓存内存中的G个内存块进行释放。
在一个例子中,所述将所述缓存内存中超出所述新初始内存队列长度的内存块释放掉包括:获取所述缓存内存中的每个内存块中的数据内容的被访问次数和/或最近被访问使用时间;根据最近最少使用算法将所述缓存内存中超出所述新初始内存队列长度的内存块进行释放。
在一个例子中,当所述当前内存队列长度大于所述初始内存队列长度时,将所述当前内存队列长度设置为新初始内存队列长度。
此外,为实现上述目的,本申请还提供一种缓存内存调整装置,所述装置包括:
获取模块,用于获取当前时间区段的运行内存;第一计算模块,用于根据所述运行内存和预设的保留内存计算出当前时间区段的空闲内存;第二计算模块,用于根据所述空闲内存以及预设的内存块大小计算出当前内存队列长度;判断模块,用于判断所述当前内存队列长度是否小于初始内存队列长度,其中,所述初始内存队列长度是内存单元中用于缓存非系统应用数据的缓存内存对应的内存队列长度;调整模块,用于当所述当前内存队列长度小于所述初始内存队列长度时,将所述当前内存队列长度设置为新初始内存队列长度,并将所述缓存内存中超出所述新初始内存队列长度的内存块释放掉。
进一步地,本申请还提出一种计算机设备,所述计算机设备包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上述的缓存内存调整方法的步骤。
进一步地,为实现上述目的,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序可被至少一个处理器执行,以使所述至少一个处理器执行如上述的缓存内存调整方法的步骤。
相较于现有技术,本申请所提出的缓存内存调整方法、装置、计算机设备及计算机可读存储介质,能够获取当前时间区段的运行内存;然后根据所述运行内存、预设的保留内,以及预设的内存块大小计算出当前内存队列长度;再判断所述当前内存队列长度是否小于初始内存队列长度;当所述当前内存队列长度小于所述初始内存队列长度时,将所述当前内存队列长度设置为新初始内存队列长度,并将所述缓存内存中超出所述新初始内存队列长度的内存块释放掉。通过获取当前时间区段的运行内存,并根据所述运行内存调整内存单元中的缓存内存的内存队列长度,从而实现了根据运行内存限制缓存内存的容量,避免了运行较多应用程序时缓存待访问文件数据过多所导致的系统崩溃的问题。
附图说明
图1是本申请一实施例的应用环境示意图;
图2是本申请缓存内存调整方法一具体实施例的流程示意图;
图3是图2中步骤S208的一具体实施例的流程示意图;
图4是本申请一示例性例子根据最近最少使用算法进行内存块释放的效果图;
图5是本申请缓存内存调整装置一实施例的程序模块示意图;
图6是本申请计算机设备一可选的硬件架构的示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,在本申请中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
图1是本申请一实施例的应用环境示意图。参阅图1所示,所述计算机设备1包括内存单元;所述内存单元中包括一保留内存、缓存内存和运行内存。其中,所述保留内存设置为固定容量,例如,所述保留内存为所述内存单元的10%容量大小;所述运行内存为某一时间区段,例如每1秒,或每2毫秒之内所述计算机设备1所有的应用程序运行时占用的内存容量;所述缓存内存为预先设置的一定容量大小,在一具体实施例中,所述计算机设备1可以根据所述内存单元的以往的运行内存的使用情况,将所述内存单元减去保留内存和运行内存之后的内存容量用于设置缓存待访问文件的缓存内存的容量。
在本实施例中,所述计算机设备1能够周期性地执行步骤:获取当前时间区段的运行内存;然后根据所述运行内存、预设的保留内,以及预设的内存块大小计算出当前内存队列长度;再判断所述当前内存队列长度是否小于初始内存队列长度;当所述当前内存队列长度小于所述初始内存队列长度时,将所述当前内存队列长度设置为新初始内存队列长度,并将所述缓存内存中超出所述新初始内存队列长度的内存块释放掉,从而实现对于内存单元中的缓存内存的容量进行动态调整,避免了内存单元存储过多数据导致系统崩溃的情况。在本实施例中,所述计算机设备1可作为手机、平板、便携设备、PC机或者服务器等电子设备;也可以作为独立的功能模块,附加在所述电子设备上以实现对缓存内存的调整功能。
实施例一
图2是本申请缓存内存调整方法一实施例的流程示意图。可以理解,本方法实施例中的流程图不用于对执行步骤的顺序进行限定。下面以计算机设备1为执行主体进行示例性描述。
如图2所示,所述缓存内存调整方法可以包括步骤S200~S208。
步骤S200,获取当前时间区段的运行内存。
目前,很多场景下,需要将内存单元中部分内存设置为缓存内存以缓存文件数据。例如,在视频服务行业,由于视频服务是提供视频在线的服务器程序,视频文件存储在服务器的磁盘上,用户通过网络下载视频内容以实现用户在线视频播放的功能;而视频文件本身是富媒体,对网络输入/输出、以及服务器服务质量的要求都比较高,所以,视频服务器一般会使用内存缓存视频内容,提高视频服务端的服务质量。在这种情况下,可以将所述计算机设备1当作视频服务器,缓存的数据则为待播放的视频数据。因此,所述计算机设备1有必要对缓存内存进行管理。
在本实施例中,所述计算机设备1能够周期性地执行对一个预设时间区段内存单元的运行内存的使用情况进行监测,然后获取该时间区段的运行内存,因此,当需要进行对缓存内存进行调整时,则可以获取当前时间区段的运行内存以用于计算空闲内存。在本实施例中,所述计算机设备1获取当前时间区段的运行内存包括:监测当前时间区段处于运行状态的应用程序,并分别获取每个所述应用程序的占用内存;将所有所述应用程序的占用内存进行求和,得到所述运行内存。其中,所述监测当前时间区段处于运行状态的应用程序,并分别获取每个所述系统程序的占用内存包括:通过系统应用程序接口获取系统进程表;从所述系统进程表中查询出当前时间区段运行的每个应用程序以及对应的占用内存。
在本实施例中,所述计算机设备1的操作系统提供一个系统应用程序接口,通过所述系统应用程序接口可以监测所有应用程序的运行状态,包括正在运行或者终止运行,以及每一个正在运行的应用程序所占用的资源情况;并且,在获取到以上信息之后还会通过系统进程表的形式进行存储。因此,所述计算机设备1需要获取处于运行状态的应用程序,则可以直接通过所述系统应用程序接口获取到所述系统进程表,然后从所述系统进程表中查询出当前时间区段运行的每一个应用程序以及对应的占用内存。当然,所述应用程序的占用内存包括进程堆栈区所占的内存以及网络套接字缓存,其中,网络套接字缓存包括对于实际在网络中传输的数据(已发送但未确认发送成功)的缓存,以及对于用于处理协议之间的控制信息的缓存。
步骤S202,根据所述运行内存和预设的保留内存计算出当前时间区段的空闲内存。
步骤S204,根据所述空闲内存以及预设的内存块大小计算出当前内存队列长度。
具体的,所述计算机设备1在获取到所述运行内存之后,则进一步根据所述运行内存和预设的保留内存计算出当前时间区段的空闲内存,然后根据所述空闲内存和预设的内存块大小计算出当前内存队列长度。在本实施例中,所述计算机设备1通过将内存单元的容量减去运行内存的容量和保留内存的容量,从而得到当前时间区段的空闲内存的容量;接着,再根据预设的内存块大小,计算出空闲内存中可以设置出的内存队列长度。其中,所述计算机设备1根据所述空闲内存以及预设的内存块大小计算出当前内存队列长度包括:将所述空闲内存与所述内存块大小进行整除运算,得到所述当前内存队列长度。
例如,所述计算机设备1的内存单元大小为S,保留内存为固定大小R,比如R=10%*S;运行内存则可以通过系统应用程序接口获取到,比如为M;因此,空闲内存N=S–R–M;那么可以计算出可以用于设置缓存内存的当前内存队列长度L=N/C(取整),其中,C是预设的内存块的大小。
步骤S206,判断所述当前内存队列长度是否小于初始内存队列长度。其中,所述初始内存队列长度是内存单元中用于缓存非系统应用数据的缓存内存对应的内存队列长度。
步骤S208,当所述当前内存队列长度小于所述初始内存队列长度时,将所述当前内存队列长度设置为新初始内存队列长度,并将所述缓存内存中超出所述新初始内存队列长度的内存块释放掉。
具体的,所述计算机设备1在计算出所述当前内存队列长度之后,则会将所述当前内存队列长度与预设的初始内存队列长度进行大小比较。在本实施例中,所述初始内存队列长度是所述计算机设备1在内存单元中设置的用于缓存非系统应用数据的缓存内存对应的内存队列长度。比如,所述计算机设备1通过以往的运行内存使用情况设置出一个缓存内存以用于缓存非系统应用数据,那么所述缓存内存包括的内存队列长度,则设置为初始内存队列长度。
所述计算机设备1通过将所述当前内存队列长度与所述初始内存队列长度进行大小比较;当所述当前内存队列长度小于所述初始内存队列长度时,将所述当前内存队列长度设置为新初始内存队列长度,并将所述缓存内存中超出所述新初始内存队列长度的内存块释放掉。在一具体实施例中,所述计算机设备1将所述缓存内存中超出所述新初始内存队列长度的内存块释放掉包括:根据所述初始内存队列长度L、所述新初始内存队列长度L’和所述内存块大小C计算出需要释放的内存块个数G,其中,G=(L-L’)/C;将所述缓存内存中的G个内存块进行释放。
如图3所示,在一示例性的实施例中,所述计算机设备1将所述缓存内存中超出所述新初始内存队列长度的内存块释放掉,包括步骤S300~S302。
步骤S300,获取所述缓存内存中的每个内存块中的数据内容的被访问次数和/或最近被访问使用时间。
步骤S302,根据最近最少使用算法将所述缓存内存中超出所述新初始内存队列长度的内存块进行释放。
在本实施例中,所述计算机设备1对于所述缓存内存中的每个内存块中的数据内容进行被访问次数和/或最近被访问时间的统计,然后根据最近最少使用算法进行末尾淘汰,得到应该进行释放处理的数据内容;进而将缓存该数据内容的内存块进行释放。
参阅图4,是本申请一示例性例子的根据最近最少使用算法进行内存块释放的效果图。如图4所示,所述计算机设备1建立的缓存内存包括的初始内存队列长度包括有4个内存块;然后依照箭头方向,所述计算机设备1依次将待访问文件的数据缓存到这4个内存块,并且根据缓存先后顺序进行标记:A(0),B(1),C(2),D(3),E(4),D(5),F(6)中,括号内的标识先后顺序的序号,A,B,C,D,E,F表示缓存内容。由于只有4个内存块,因此,所述计算机设备1根据最近最少使用算法对待访问文件的数据进行缓存,比如,缓存E时,已缓存的A(0),B(1),C(2),D(3)中,A(0)是最先缓存的,也就是最近未使用,因此会被清除以腾出缓存空间用来缓存E。
然后,当所述计算机设备1执行本申请所述的缓存内存调整方法,且判断出所述当前内存队列长度小于所述初始内存队列长度时,所述计算机设备1则会将所述当前内存队列长度设置为新初始内存队列长度,并将所述缓存内存中超出所述新初始内存队列长度的内存块释放掉。例如,原来的初始内存队列长度包括4个内存块,新初始内存队列长度为3个内存块,那么所述计算机设备1则会将释放一个内存块,而需要释放的内存块也是根据最近最少使用算法进行选择。如图4所示,由于对于E(4),F(6),C(2),D(5),其中C(2)最先缓存的,也就是最近未使用,因此,所述计算机设备1会将缓存C(2)的内存块进行释放。
当然,在其他实施例中,所述计算机设备1还可以根据所述缓存内存中的每一个内存块中的视频数据的热度进行排名,比如,根据用户观看次数,点评和/或点赞次数计算出所述视频数据的热度并进行排名;然后将热度排名末尾的视频数据对应的内存块进行释放。
在另一具体实施例中,当所述计算机设备1判断出所述当前内存队列长度大于所述初始内存队列长度时,所述计算机设备1还可以将所述当前内存队列长度设置为新初始内存队列长度;从而增加了缓存非系统应用数据的缓存内存的空间大小,可以缓存更多临时数据,提高了内存的使用率。因此,所述计算机设备1可以根据每一时间区段的空闲内存的大小,动态调整缓存内存的内存队列长度,有效提高内存使用效率。
综上所述,本实施例所提出的缓存内存调整方法能够获取当前时间区段的运行内存;然后根据所述运行内存、预设的保留内,以及预设的内存块大小计算出当前内存队列长度;再判断所述当前内存队列长度是否小于初始内存队列长度;当所述当前内存队列长度小于所述初始内存队列长度时,将所述当前内存队列长度设置为新初始内存队列长度,并将所述缓存内存中超出所述新初始内存队列长度的内存块释放掉。通过获取当前时间区段的运行内存,并根据所述运行内存调整内存单元中的缓存内存的内存队列长度,从而实现了根据运行内存限制缓存内存的容量,避免了运行较多应用程序时缓存待访问文件数据过多所导致的系统崩溃的问题。
也就是说,所述计算机设备1能够充分利用内存单元,在应用程序占用内存处于谷值的时候,将缓存内存增加,内存的命中率会提高。在应用程序占用内存处于峰值的时候,则会释放出缓存内存,分片更多内存容量给运行内存,提高系统的网络数据包处理。无论在哪种流量情况下,都能够避免因为内存不足引起应用程序中止或退出等崩溃的问题。
实施例二
图5示意性示出了根据本申请实施例二的缓存内存调整装置的框图,该缓存内存调整装置可以被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本申请实施例。本申请实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,以下描述将具体介绍本实施例中各程序模块的功能。
如图5所示,该缓存内存调整装置400可以包括获取模块410、第一计算模块420、第二计算模块430、判断模块440和调整模块450,其中:
获取模块410,用于获取当前时间区段的运行内存。
第一计算模块420,用于根据所述运行内存和预设的保留内存计算出当前时间区段的空闲内存。
第二计算模块430,用于根据所述空闲内存以及预设的内存块大小计算出当前内存队列长度。
判断模块440,用于判断所述当前内存队列长度是否小于初始内存队列长度,其中,所述初始内存队列长度是内存单元中用于缓存非系统应用数据的缓存内存对应的内存队列长度。
调整模块450,用于当所述当前内存队列长度小于所述初始内存队列长度时,将所述当前内存队列长度设置为新初始内存队列长度,并将所述缓存内存中超出所述新初始内存队列长度的内存块释放掉。
在示例性的实施例中,获取模块410,还用于:监测当前时间区段处于运行状态的应用程序,并分别获取每个所述应用程序的占用内存;将所有所述应用程序的占用内存进行求和,得到所述运行内存。以及,通过系统应用程序接口获取系统进程表;从所述系统进程表中查询出当前时间区段运行的每个应用程序以及对应的占用内存。其中,所述应用程序的占用内存包括进程堆栈区所占的内存以及网络套接字缓存。
在示例性的实施例中,第二计算模块430,还用于:将所述空闲内存与所述内存块大小进行整除运算,得到所述当前内存队列长度。
在示例性的实施例中,调整模块450,还用于:根据所述初始内存队列长度L、所述新初始内存队列长度L’和所述内存块大小C计算出需要释放的内存块个数G,其中,G=(L-L’)/C;将所述缓存内存中的G个内存块进行释放。以及,获取所述缓存内存中的每个内存块中的数据内容的被访问次数和/或最近被访问使用时间;根据最近最少使用算法将所述缓存内存中超出所述新初始内存队列长度的内存块进行释放。
在示例性的实施例中,调整模块450,还用于:当所述当前内存队列长度大于所述初始内存队列长度时,将所述当前内存队列长度设置为新初始内存队列长度。
实施例三
图6示意性示出了根据本申请实施例三的适于实现缓存内存调整方法的计算机设备1的硬件架构示意图。本实施例中,计算机设备1是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。例如,可以是具有网关功能的机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图6所示,计算机设备1至少包括但不限于:可通过系统总线相互通信链接存储器510、处理器520、网络接口530。其中:
存储器510至少包括一种类型的计算机可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器510可以是计算机设备1的内部存储模块,例如该计算机设备1的硬盘或内存。在另一些实施例中,存储器510也可以是计算机设备1的外部存储设备,例如该计算机设备1上配备的插接式硬盘,智能存储卡(SmartMedia Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,存储器510还可以既包括计算机设备1的内部存储模块也包括其外部存储设备。本实施例中,存储器510通常用于存储安装于计算机设备1的操作系统和各类应用软件,例如缓存内存调整方法的程序代码等。此外,存储器510还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器520在一些实施例中可以是中央处理器(Central Processing Unit,简称为CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器520通常用于控制计算机设备1的总体操作,例如执行与计算机设备1进行数据交互或者通信相关的控制和处理等。本实施例中,处理器520用于运行存储器510中存储的程序代码或者处理数据。
网络接口530可包括无线网络接口或有线网络接口,该网络接口530通常用于在计算机设备1与其他计算机设备之间建立通信链接。例如,网络接口530用于通过网络将计算机设备1与外部终端相连,在计算机设备1与外部终端之间的建立数据传输通道和通信链接等。网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(GlobalSystem of Mobile communication,简称为GSM)、宽带码分多址(Wideband Code DivisionMultiple Access,简称为WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。
需要指出的是,图6仅示出了具有部件510-530的计算机设备,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。
在本实施例中,存储于存储器510中的缓存内存调整方法的程序代码还可以被分割为一个或者多个程序模块,并由一个或多个处理器(本实施例为处理器520)所执行,以完成本申请实施例。
实施例四
本实施例还提供一种计算机可读存储介质,计算机可读存储介质其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取当前时间区段的运行内存;根据所述运行内存和预设的保留内存计算出当前时间区段的空闲内存;根据所述空闲内存以及预设的内存块大小计算出当前内存队列长度;判断所述当前内存队列长度是否小于初始内存队列长度,其中,所述初始内存队列长度是内存单元中用于缓存非系统应用数据的缓存内存对应的内存队列长度;当所述当前内存队列长度小于所述初始内存队列长度时,将所述当前内存队列长度设置为新初始内存队列长度,并将所述缓存内存中超出所述新初始内存队列长度的内存块释放掉。
本实施例中,计算机可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,计算机可读存储介质可以是计算机设备的内部存储单元,例如该计算机设备的硬盘或内存。在另一些实施例中,计算机可读存储介质也可以是计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(Smart Media Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,计算机可读存储介质还可以既包括计算机设备的内部存储单元也包括其外部存储设备。本实施例中,计算机可读存储介质通常用于存储安装于计算机设备的操作系统和各类应用软件,例如实施例中缓存内存调整方法的程序代码等。此外,计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的各类数据。
显然,本领域的技术人员应该明白,上述的本申请实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请实施例不限制于任何特定的硬件和软件结合。
以上仅为本申请实施例的优选实施例,并非因此限制本申请实施例的专利范围,凡是利用本申请实施例说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请实施例的专利保护范围内。
Claims (11)
1.一种缓存内存调整方法,其特征在于,所述方法包括:
获取当前时间区段的运行内存;
根据所述运行内存和预设的保留内存计算出当前时间区段的空闲内存;
根据所述空闲内存以及预设的内存块大小计算出当前内存队列长度;
判断所述当前内存队列长度是否小于初始内存队列长度,其中,所述初始内存队列长度是内存单元中用于缓存非系统应用数据的缓存内存对应的内存队列长度;
当所述当前内存队列长度小于所述初始内存队列长度时,将所述当前内存队列长度设置为新初始内存队列长度,并将所述缓存内存中超出所述新初始内存队列长度的内存块释放掉。
2.如权利要求1所述的缓存内存调整方法,其特征在于,所述获取当前时间区段的运行内存包括:
监测当前时间区段处于运行状态的应用程序,并分别获取每个所述应用程序的占用内存;
将所有所述应用程序的占用内存进行求和,得到所述运行内存。
3.如权利要求2所述的缓存内存调整方法,其特征在于,所述监测当前时间区段处于运行状态的应用程序,并分别获取每个所述系统程序的占用内存包括:
通过系统应用程序接口获取系统进程表;
从所述系统进程表中查询出当前时间区段运行的每个应用程序以及对应的占用内存。
4.如权利要求2或3中任一项所述的缓存内存调整方法,其特征在于,所述应用程序的占用内存包括进程堆栈区所占的内存以及网络套接字缓存。
5.如权利要求1所述的缓存内存调整方法,其特征在于,根据所述空闲内存以及预设的内存块大小计算出当前内存队列长度包括:
将所述空闲内存与所述内存块大小进行整除运算,得到所述当前内存队列长度。
6.如权利要求1所述的缓存内存调整方法,其特征在于,所述将所述缓存内存中超出所述新初始内存队列长度的内存块释放掉包括:
根据所述初始内存队列长度L、所述新初始内存队列长度L’和所述内存块大小C计算出需要释放的内存块个数G,其中,G=(L-L’)/C;
将所述缓存内存中的G个内存块进行释放。
7.如权利要求1或6中任一项所述的缓存内存调整方法,其特征在于,所述将所述缓存内存中超出所述新初始内存队列长度的内存块释放掉包括:
获取所述缓存内存中的每个内存块中的数据内容的被访问次数和/或最近被访问使用时间;
根据最近最少使用算法将所述缓存内存中超出所述新初始内存队列长度的内存块进行释放。
8.如权利要求1所述的缓存内存调整方法,其特征在于,当所述当前内存队列长度大于所述初始内存队列长度时,将所述当前内存队列长度设置为新初始内存队列长度。
9.一种缓存内存调整装置,其特征在于,所述装置包括:
获取模块,用于获取当前时间区段的运行内存;
第一计算模块,用于根据所述运行内存和预设的保留内存计算出当前时间区段的空闲内存;
第二计算模块,用于根据所述空闲内存以及预设的内存块大小计算出当前内存队列长度;
判断模块,用于判断所述当前内存队列长度是否小于初始内存队列长度,其中,所述初始内存队列长度是内存单元中用于缓存非系统应用数据的缓存内存对应的内存队列长度;
调整模块,用于当所述当前内存队列长度小于所述初始内存队列长度时,将所述当前内存队列长度设置为新初始内存队列长度,并将所述缓存内存中超出所述新初始内存队列长度的内存块释放掉。
10.一种计算机设备,其特征在于,所述计算机设备包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1-8中任一项所述的缓存内存调整方法的步骤。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序可被至少一个处理器执行,以使所述至少一个处理器执行如权利要求1-8中任一项所述的缓存内存调整方法的步骤。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010981937.7A CN112416569B (zh) | 2020-09-17 | 2020-09-17 | 缓存内存调整方法、装置及计算机设备 |
PCT/CN2021/104496 WO2022057391A1 (zh) | 2020-09-17 | 2021-07-05 | 缓存内存调整方法、装置及计算机设备 |
EP21868220.1A EP4195046A4 (en) | 2020-09-17 | 2021-07-05 | CACHE MEMORY ADJUSTMENT METHOD, APPARATUS AND COMPUTER APPARATUS |
US18/025,908 US20240012754A1 (en) | 2020-09-17 | 2021-07-05 | Method and apparatus for adjusting cache memory and computer device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010981937.7A CN112416569B (zh) | 2020-09-17 | 2020-09-17 | 缓存内存调整方法、装置及计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112416569A true CN112416569A (zh) | 2021-02-26 |
CN112416569B CN112416569B (zh) | 2022-12-06 |
Family
ID=74855365
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010981937.7A Active CN112416569B (zh) | 2020-09-17 | 2020-09-17 | 缓存内存调整方法、装置及计算机设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20240012754A1 (zh) |
EP (1) | EP4195046A4 (zh) |
CN (1) | CN112416569B (zh) |
WO (1) | WO2022057391A1 (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113268440A (zh) * | 2021-05-26 | 2021-08-17 | 上海哔哩哔哩科技有限公司 | 缓存淘汰方法及系统 |
CN113778670A (zh) * | 2021-08-24 | 2021-12-10 | 深圳致星科技有限公司 | 引用计数占用内存的管理方法及系统 |
CN113778912A (zh) * | 2021-08-25 | 2021-12-10 | 深圳市中科蓝讯科技股份有限公司 | cache映射架构动态调整方法及cache控制器 |
CN113918322A (zh) * | 2021-09-09 | 2022-01-11 | 芯华章科技股份有限公司 | 在内存中动态存储逻辑系统设计的仿真数据的方法及设备 |
CN113961361A (zh) * | 2021-11-10 | 2022-01-21 | 重庆紫光华山智安科技有限公司 | 一种缓存资源的控制方法和系统 |
WO2022057391A1 (zh) * | 2020-09-17 | 2022-03-24 | 上海哔哩哔哩科技有限公司 | 缓存内存调整方法、装置及计算机设备 |
CN116743673A (zh) * | 2023-08-15 | 2023-09-12 | 中移(苏州)软件技术有限公司 | Rdma工作队列参数的调整方法、装置、设备及存储介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114817090B (zh) * | 2022-06-09 | 2023-06-02 | 远峰科技股份有限公司 | 低ram消耗mcu通信管理方法及系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060294356A1 (en) * | 2005-06-27 | 2006-12-28 | Xipkey, Inc. | Apparatus and method of an executable-in-place flash device |
CN101582051A (zh) * | 2009-06-10 | 2009-11-18 | 腾讯科技(深圳)有限公司 | 一种调整内存的方法和装置 |
CN101833512A (zh) * | 2010-04-22 | 2010-09-15 | 中兴通讯股份有限公司 | 一种内存回收方法及其装置 |
CN103294782A (zh) * | 2013-05-15 | 2013-09-11 | 北京小米科技有限责任公司 | 一种数据展现方法和装置 |
CN106033397A (zh) * | 2015-03-17 | 2016-10-19 | 小米科技有限责任公司 | 内存缓冲区调整方法、装置及终端 |
CN109324893A (zh) * | 2018-08-07 | 2019-02-12 | 华为技术有限公司 | 分配内存的方法和装置 |
CN110780994A (zh) * | 2019-09-25 | 2020-02-11 | 苏州浪潮智能科技有限公司 | 一种调控内存的方法、设备及介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102279810A (zh) * | 2011-08-11 | 2011-12-14 | 浪潮(北京)电子信息产业有限公司 | 一种网络存储服务器及其缓存数据的方法 |
CN103870333B (zh) * | 2012-12-17 | 2017-08-29 | 华为技术有限公司 | 一种全局内存共享方法、装置和一种通信系统 |
CN106681933A (zh) * | 2016-11-16 | 2017-05-17 | 深圳市金立通信设备有限公司 | 一种内存管理方法及终端 |
CN110837480A (zh) * | 2019-11-07 | 2020-02-25 | 北京沃东天骏信息技术有限公司 | 缓存数据的处理方法及装置、计算机存储介质、电子设备 |
CN111177032A (zh) * | 2019-12-29 | 2020-05-19 | 浪潮电子信息产业股份有限公司 | 缓存空间申请方法、系统、装置及计算机可读存储介质 |
CN111367833A (zh) * | 2020-03-31 | 2020-07-03 | 中国建设银行股份有限公司 | 数据缓存方法、装置、计算机设备以及可读存储介质 |
CN112416569B (zh) * | 2020-09-17 | 2022-12-06 | 上海哔哩哔哩科技有限公司 | 缓存内存调整方法、装置及计算机设备 |
-
2020
- 2020-09-17 CN CN202010981937.7A patent/CN112416569B/zh active Active
-
2021
- 2021-07-05 WO PCT/CN2021/104496 patent/WO2022057391A1/zh active Application Filing
- 2021-07-05 US US18/025,908 patent/US20240012754A1/en active Pending
- 2021-07-05 EP EP21868220.1A patent/EP4195046A4/en active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060294356A1 (en) * | 2005-06-27 | 2006-12-28 | Xipkey, Inc. | Apparatus and method of an executable-in-place flash device |
CN101582051A (zh) * | 2009-06-10 | 2009-11-18 | 腾讯科技(深圳)有限公司 | 一种调整内存的方法和装置 |
CN101833512A (zh) * | 2010-04-22 | 2010-09-15 | 中兴通讯股份有限公司 | 一种内存回收方法及其装置 |
CN103294782A (zh) * | 2013-05-15 | 2013-09-11 | 北京小米科技有限责任公司 | 一种数据展现方法和装置 |
CN106033397A (zh) * | 2015-03-17 | 2016-10-19 | 小米科技有限责任公司 | 内存缓冲区调整方法、装置及终端 |
CN109324893A (zh) * | 2018-08-07 | 2019-02-12 | 华为技术有限公司 | 分配内存的方法和装置 |
CN110780994A (zh) * | 2019-09-25 | 2020-02-11 | 苏州浪潮智能科技有限公司 | 一种调控内存的方法、设备及介质 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022057391A1 (zh) * | 2020-09-17 | 2022-03-24 | 上海哔哩哔哩科技有限公司 | 缓存内存调整方法、装置及计算机设备 |
CN113268440A (zh) * | 2021-05-26 | 2021-08-17 | 上海哔哩哔哩科技有限公司 | 缓存淘汰方法及系统 |
CN113778670A (zh) * | 2021-08-24 | 2021-12-10 | 深圳致星科技有限公司 | 引用计数占用内存的管理方法及系统 |
CN113778912A (zh) * | 2021-08-25 | 2021-12-10 | 深圳市中科蓝讯科技股份有限公司 | cache映射架构动态调整方法及cache控制器 |
CN113778912B (zh) * | 2021-08-25 | 2024-05-07 | 深圳市中科蓝讯科技股份有限公司 | cache映射架构动态调整方法及cache控制器 |
CN113918322A (zh) * | 2021-09-09 | 2022-01-11 | 芯华章科技股份有限公司 | 在内存中动态存储逻辑系统设计的仿真数据的方法及设备 |
CN113961361A (zh) * | 2021-11-10 | 2022-01-21 | 重庆紫光华山智安科技有限公司 | 一种缓存资源的控制方法和系统 |
CN113961361B (zh) * | 2021-11-10 | 2024-04-16 | 重庆紫光华山智安科技有限公司 | 一种缓存资源的控制方法和系统 |
CN116743673A (zh) * | 2023-08-15 | 2023-09-12 | 中移(苏州)软件技术有限公司 | Rdma工作队列参数的调整方法、装置、设备及存储介质 |
CN116743673B (zh) * | 2023-08-15 | 2023-11-03 | 中移(苏州)软件技术有限公司 | Rdma工作队列参数的调整方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
EP4195046A1 (en) | 2023-06-14 |
CN112416569B (zh) | 2022-12-06 |
EP4195046A4 (en) | 2023-11-22 |
WO2022057391A1 (zh) | 2022-03-24 |
US20240012754A1 (en) | 2024-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112416569B (zh) | 缓存内存调整方法、装置及计算机设备 | |
WO2020253111A1 (zh) | 区块链节点的自动扩容方法、装置、运维终端及存储介质 | |
CN111478857B (zh) | 一种接口限流控制方法、装置以及电子设备 | |
CN105656810B (zh) | 一种更新应用程序的方法及装置 | |
CN111277640B (zh) | 用户请求处理方法、装置、系统、计算机设备和存储介质 | |
CN109257758B (zh) | 一种网络扩容方法及装置 | |
CN112417350B (zh) | 数据存储调整方法、装置及计算机设备 | |
CN111641563B (zh) | 基于分布式场景的流量自适应方法与系统 | |
CN109951514A (zh) | 基于云存储的文件处理方法、系统及计算机设备 | |
CN113411404A (zh) | 一种文件下载方法、装置、服务器及存储介质 | |
CN111490947A (zh) | 数据包发送方法、数据包接收方法、系统、设备及介质 | |
CN111490963A (zh) | 基于quic协议栈的数据处理方法、系统、设备及存储介质 | |
CN106657182B (zh) | 云端文件处理方法和装置 | |
CN111930305A (zh) | 数据的存储方法和装置、存储介质、电子装置 | |
EP3787231B1 (en) | Server configuration method and apparatus | |
CN110602229A (zh) | 基于动态切片的终端系统版本下载方法、装置及系统 | |
CN112367384A (zh) | 基于Kafka集群的动态限速方法、装置以及计算机设备 | |
CN101753607B (zh) | 一种服务器的工作装置及方法 | |
CN109962941B (zh) | 通信方法、装置以及服务器 | |
CN113392131A (zh) | 数据处理方法、装置及计算机设备 | |
CN112436974B (zh) | Cdn数据资源一致性检测方法、装置以及计算机设备 | |
CN117666926A (zh) | 数据存储方法、装置和电子设备 | |
CN112416888A (zh) | 用于分布式文件系统的动态负载均衡方法及系统 | |
CN112463754B (zh) | Hdfs中数据节点切换方法、装置及计算机设备 | |
CN115190338B (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 |