CN115756843A - Dynamic memory capacity adjusting method, system, electronic equipment and storage medium - Google Patents

Dynamic memory capacity adjusting method, system, electronic equipment and storage medium Download PDF

Info

Publication number
CN115756843A
CN115756843A CN202211430239.3A CN202211430239A CN115756843A CN 115756843 A CN115756843 A CN 115756843A CN 202211430239 A CN202211430239 A CN 202211430239A CN 115756843 A CN115756843 A CN 115756843A
Authority
CN
China
Prior art keywords
virtual address
space
address space
memory space
target memory
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
CN202211430239.3A
Other languages
Chinese (zh)
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.)
Alibaba Cloud Computing Ltd
Original Assignee
Alibaba Cloud Computing 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 Alibaba Cloud Computing Ltd filed Critical Alibaba Cloud Computing Ltd
Priority to CN202211430239.3A priority Critical patent/CN115756843A/en
Publication of CN115756843A publication Critical patent/CN115756843A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

One or more embodiments of the present specification provide a dynamic memory capacity adjustment method, system, electronic device, and storage medium. The dynamic memory capacity adjusting method is applied to a database instance; the method comprises the following steps: determining a first memory capacity to be expanded; determining at least part of the reserved memory space corresponding to the first memory capacity as a first target memory space from the reserved memory space pre-allocated for the database instance, and releasing the first target memory space; wherein the reserved memory space comprises a continuous virtual address space configured to be in a forbidden access state in a pre-allocation process; and reallocating the first target memory space to the database instance, and configuring the first target memory space into an access permission state in the reallocating process.

Description

Dynamic memory capacity adjusting method, system, electronic equipment and storage medium
Technical Field
One or more embodiments of the present disclosure relate to the field of cloud database technologies, and in particular, to a dynamic memory capacity adjustment method, a dynamic memory capacity adjustment system, an electronic device, and a machine-readable storage medium, and a dynamic memory capacity reduction method.
Background
With the advent of the cloud-native era, cloud database technology is also continuously developing. The cloud database refers to a database which is optimized or deployed in a virtual computing environment, and can realize the advantages of paying on demand, expanding on demand, high availability, storage integration and the like.
Through the online database service provided based on the cloud database technology, a user can realize functions such as instance creation and change, data migration and synchronization, data backup and recovery, monitoring and alarming and the like. The instance (instance), that is, the database instance, may be a database service process that independently occupies a physical memory, and different memory sizes, disk spaces, and database types may be set for the instance.
In practical applications, since the memory resource is an important system resource of the operating system, it is very important that the online database service supports the dynamic memory capacity adjustment capability of flexible scaling and on-demand allocation.
In the related art, in the process of performing dynamic memory capacity adjustment on a database instance, there are problems that an online database service is unavailable during memory expansion, an original data structure is adjusted, and the like, and service availability during memory capacity adjustment cannot be guaranteed while intrusion into the original data structure is avoided.
Disclosure of Invention
The application provides a dynamic memory capacity adjusting method, which is applied to a database instance; the method comprises the following steps:
determining a first memory capacity to be expanded;
determining at least part of reserved memory space corresponding to the first memory capacity as a first target memory space from the reserved memory space pre-allocated for the database instance, and releasing the first target memory space; the reserved memory space comprises a continuous virtual address space configured to be in a forbidden access state in a preallocation process;
reallocating the first target memory space to the database instance, and configuring the first target memory space to be in a permission access state in the reallocating process.
The application also provides a dynamic memory capacity reduction method which is applied to the database example; the method comprises the following steps:
determining the target memory capacity to be reduced;
determining at least part of continuous virtual address space corresponding to the target memory capacity as target memory space from continuous virtual address space which is allocated to the database instance and is configured to be in an access-allowed state, and releasing the target memory space;
and reallocating the target memory space to the database instance, and configuring the target memory space to be in a forbidden access state in the reallocating process.
The present application further provides a dynamic memory capacity adjusting apparatus, the apparatus includes:
the first determining unit is used for determining the first memory capacity to be expanded;
a first releasing unit, configured to determine, from a reserved memory space pre-allocated to the database instance, that at least a part of the reserved memory space corresponding to the first memory capacity is a first target memory space, and release the first target memory space; the reserved memory space comprises a continuous virtual address space configured to be in a forbidden access state in a preallocation process;
a first allocation unit, configured to reallocate the first target memory space to the database instance, and configure the first target memory space in an access permission state during the reallocation process.
The present application further provides a dynamic memory capacity reduction device, the device includes:
the determining unit is used for determining the target memory capacity to be reduced;
a releasing unit, configured to determine, from the continuous virtual address spaces allocated to the database instance and configured to be in an access-allowed state, that at least a part of the continuous virtual address spaces corresponding to the target memory capacity is a target memory space, and release the target memory space;
and the allocation unit is used for reallocating the target memory space to the database instance and configuring the target memory space into a forbidden access state in the reallocating process.
The present application further provides a dynamic memory capacity adjustment system, which is used for implementing the above dynamic memory capacity adjustment method or dynamic memory capacity reduction method.
The application also provides an electronic device, which comprises a communication interface, a processor, a memory and a bus, wherein the communication interface, the processor and the memory are mutually connected through the bus;
the memory stores machine readable instructions, and the processor executes the dynamic memory capacity adjusting method or the dynamic memory capacity reducing method by calling the machine readable instructions.
The present application further provides a machine-readable storage medium storing machine-readable instructions, which when called and executed by a processor, implement the above dynamic memory capacity adjustment method or dynamic memory capacity reduction method.
Through the above embodiment, the first memory space for memory expansion is at least a partial continuous virtual address space determined from a pre-allocated continuous virtual address space serving as a reserved memory space, and the first memory space can be converted from an access prohibition state to an access permission state by reallocating the memory space; through the above manner, when the capacity of the memory is actually expanded, the capacity expansion is performed based on the pre-allocated continuous virtual address space, and no new discontinuous virtual address space is applied, so that all data structures in the section of the memory are continuous, and the intrusion into the original data structure is avoided in the process of dynamic memory capacity adjustment. In addition, through the mode, data stored in the original memory space does not need to be copied to the newly applied memory space, and long-time locking operation is not needed, so that the problem that online database service is unavailable in the dynamic memory capacity adjusting process is solved.
Similarly, the target memory space for performing memory capacity reduction is at least a part of continuous virtual address space determined from continuous virtual address space configured as an access-allowed state allocated to the database instance, and the target memory space can be converted from an access-allowed state to an access-prohibited state by reallocating the memory space; through the above manner, since the actual capacity reduction of the memory is performed based on the pre-allocated continuous virtual address space, all data structures in the memory are also continuous, thereby avoiding intrusion into the original data structure during the dynamic memory capacity adjustment process. In addition, through the mode, long-time locking operation is not needed, and therefore the problem that online database service is unavailable in the dynamic memory capacity adjusting process is solved.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present disclosure, the drawings needed to be used in the description of the embodiments will be briefly introduced below, and it is obvious that the drawings in the following description are only some embodiments described in the present disclosure, and it is obvious for a person skilled in the art to obtain other drawings based on these drawings without inventive labor.
Fig. 1 is a schematic diagram illustrating a related art that performs memory expansion based on a realloc function;
fig. 2 is a schematic diagram of a memory capacity expansion method with discontinuous data shown in the related art;
FIG. 3 is a diagram illustrating a method for dynamic memory expansion in accordance with an exemplary embodiment;
FIG. 4 is a diagram illustrating a method for dynamic memory scaling in accordance with an illustrative embodiment;
FIG. 5 is a flow diagram illustrating a method for dynamic memory size adjustment in accordance with an exemplary embodiment;
FIG. 6 is a flow diagram illustrating a method for dynamic memory scaling in accordance with an illustrative embodiment;
fig. 7 is a schematic structural diagram of an electronic device in which a dynamic memory capacity adjustment apparatus according to an exemplary embodiment is located;
FIG. 8 is a block diagram of a dynamic memory capacity adjustment apparatus, according to an exemplary embodiment;
FIG. 9 is a block diagram of a dynamic memory capacity device, according to an exemplary embodiment.
Detailed Description
In order to make those skilled in the art better understand the technical solutions in the present specification, the technical solutions in the embodiments of the present specification will be clearly and completely described below with reference to the drawings in the embodiments of the present specification, and it is obvious that the described embodiments are only a part of the embodiments of the present specification, and not all of the embodiments. All other embodiments obtained by a person of ordinary skill in the art based on the embodiments in the present specification without making any creative effort shall fall within the protection scope of the present specification.
It should be noted that: in other embodiments, the steps of the corresponding methods are not necessarily performed in the order shown and described herein. In some other embodiments, the methods may include more or fewer steps than those described herein. Moreover, a single step described in this specification may be broken down into multiple steps for description in other embodiments; multiple steps described in this specification may be combined into a single step in other embodiments.
With the advent of the cloud-native era, cloud database technology is also continuously developing. The cloud database refers to a database which is optimized or deployed in a virtual computing environment, and can realize the advantages of paying on demand, expanding on demand, high availability, storage integration and the like. Through the online database service provided based on the cloud database technology, a user can realize functions such as instance creation and change, data migration and synchronization, data backup and recovery, monitoring and alarming and the like.
The instance (instance), that is, the database instance, may be a database service process that independently occupies a physical memory, and different memory sizes, disk spaces, and database types may be set for the instance.
In practical applications, because memory resources are important system resources of an operating system, it is very important that the online database service supports flexible and demand-allocated dynamic memory capacity adjustment capability. Specifically, the user may modify the instance configuration parameters as needed to adjust the memory specification of the instance; or, the service process corresponding to the instance may automatically determine that the memory expansion needs to be performed according to a preset memory management policy, which is not particularly limited in this specification.
For example, referring to fig. 1, fig. 1 is a schematic diagram illustrating a related art that performs memory expansion based on a realloc function. As shown in fig. 1, if the memory space 11 needs to be expanded, a continuous new memory space 12 may be applied, and the memory capacity of the new memory space 12 may be the sum of the memory capacity of the original memory space 11 and the memory capacity that needs to be expanded newly; furthermore, all data stored in the original memory space 11 may be copied to the new memory space 12; further, the original memory space 11 may be released.
Therefore, in the embodiment shown above, on one hand, since locking is required in the process of performing memory expansion based on the realloc function, an external process is not allowed to access data stored in the original memory space 11, and thus, a problem that an online database service is unavailable during the memory expansion may be caused; on the other hand, because data copy operation is required in the process of performing memory capacity expansion based on the realloc function, as the data volume of data stored in the original memory space is continuously increased, the time consumed by dynamic memory capacity expansion each time is also continuously increased.
For another example, please refer to fig. 2, fig. 2 is a schematic diagram illustrating a discontinuous data memory capacity method in the related art. As shown in fig. 2, if the memory space 21 needs to be expanded, a new memory space 22 may be applied, and the memory capacity of the new memory space 22 may be the memory capacity that needs to be newly expanded; in this case, it is not necessary to lock the memory space before applying for a new memory space, and it is not necessary to copy the data stored in the original memory space 21 to the new memory space 22, but the data may be directly written in the new memory space 22 that is applied for.
It can be seen that, in the above illustrated embodiment, since the applied new memory space 22 may not be continuous with the original memory space 21, the data stored in the original memory space 21 may not be continuous with the data stored in the new memory space 22; in order to normally access the data stored in the discontinuous original memory space 21 and the new memory space 22, respectively, the original data structure needs to be adjusted.
For example, if the original data structure corresponding to the data stored in the original memory space 21 is a one-dimensional array, after capacity expansion, the data structures corresponding to the data in the original memory space 21 and the new memory space 22 need to be adjusted to two-dimensional data, so that the data stored in the discontinuous original memory space 21 and the discontinuous new memory space 22 can be accessed.
It can be seen that, in the above-described one or more embodiments of the related art, in the process of performing dynamic memory capacity adjustment on a database instance, there are problems that an online database service is unavailable during memory capacity expansion, an original data structure is adjusted, and the like, and it is not possible to guarantee service availability during memory capacity adjustment while avoiding intrusion into the original data structure.
In view of this, the present specification aims to provide a technical solution for performing dynamic memory capacity adjustment by pre-allocating a sufficient and continuous memory space for a database instance and then reallocating the memory space.
In this specification, before performing the process of dynamic memory capacity adjustment, a sufficient amount of continuous virtual address space may be pre-allocated for the database instance, and the continuous virtual address space may be configured in an access prohibited state in the pre-allocation process, so that the continuous virtual address space allocated for the database instance and configured in the access prohibited state is used as the reserved memory space allocated for the database instance.
During implementation, in the process of dynamic memory capacity expansion, the first memory capacity to be expanded can be determined; further, at least a part of the reserved memory space corresponding to the first memory capacity may be determined as a first target memory space from the reserved memory space pre-allocated to the database instance, and the first target memory space is released; the reserved memory space may specifically include a continuous virtual address space configured to be in a prohibited access state in a pre-allocation process; further, the first target memory space may be reallocated to the database instance, and the first target memory space may be configured to be in a permitted-access state during the reallocation.
For example, referring to fig. 3, fig. 3 is a schematic diagram illustrating a dynamic memory capacity expansion method according to an exemplary embodiment. As shown in fig. 3, a continuous virtual address space 30 may be pre-allocated for a database instance, and the virtual address space 30 may be configured in a no-access state during the pre-allocation process, so that the virtual address space 30 is used as a reserved memory space; further, after determining that the first memory capacity to be expanded is NBuffers1, determining, from the reserved memory spaces pre-allocated to the database instances (i.e., the virtual address spaces 30 configured in the access prohibited state), that at least a part of the reserved memory spaces corresponding to the first memory capacity NBuffers1 (i.e., the virtual address spaces 31 configured in the access prohibited state) is a first target memory space for performing memory expansion, and releasing the first target memory space (i.e., the virtual address spaces 31 configured in the access prohibited state); further, virtual address space 31 may be reassigned to the database instance, and virtual address space 31 may be configured to be in an allowed access state during the reassignment.
Therefore, in the above illustrated embodiment, the first memory space used for memory expansion is at least a partial continuous virtual address space determined from a pre-allocated continuous virtual address space serving as a reserved memory space, and the first memory space may be converted from an access prohibition state to an access permission state by reallocating the memory space; through the above manner, when the capacity of the memory is actually expanded, the capacity expansion is performed based on the pre-allocated continuous virtual address space, and no new discontinuous virtual address space is applied, so that all data structures in the section of the memory are continuous, and the intrusion into the original data structure is avoided in the process of dynamic memory capacity adjustment. In addition, through the mode, data stored in the original memory space does not need to be copied to the newly applied memory space, and long-time locking operation is not needed, so that the problem that online database service is unavailable in the dynamic memory capacity adjusting process is solved.
Based on similar technical conception, dynamic memory capacity reduction can be carried out on the basis of pre-allocating the reserved memory space for the database instance.
During implementation, in the process of dynamic memory capacity reduction, the target memory capacity to be reduced can be determined; further, at least a part of the continuous virtual address space corresponding to the target memory capacity may be determined as a target memory space from the continuous virtual address spaces allocated to the database instance and configured to be in an access-allowed state, and the target memory space may be released; further, the target memory space may be reallocated to the database instance and configured to a prohibited access state during the reallocation.
For example, referring to fig. 4, fig. 4 is a schematic diagram illustrating a dynamic memory capacity reduction method according to an exemplary embodiment. As shown in FIG. 4, the contiguous virtual address space that has been allocated for the database instance comprises virtual address space 40; the continuous virtual address space allocated to the database instance may specifically include a continuous virtual address space configured to be in an access-permitted state (i.e., virtual address space 41+ virtual address space 42), and a reserved memory space configured to be in an access-prohibited state (i.e., virtual address space 43) that has been pre-allocated to the database instance; further, after determining that the target memory capacity to be compacted is NBuffers2, determining, from the continuous virtual address spaces configured to allow access to the database instances (i.e., virtual address space 41+ virtual address space 42), that at least a part of the continuous virtual address space corresponding to the target memory capacity NBuffers2 is a target memory space (i.e., virtual address space 42 configured to allow access to the database instances), and releasing the target memory space; further, the virtual address space 42 may be reassigned to the database instance, and the virtual address space 42 may be configured to a prohibited access state during the reassignment.
It can be seen that, in the above illustrated embodiment, the target memory space for performing memory capacity reduction is at least a part of continuous virtual address spaces determined from continuous virtual address spaces configured as an access-allowed state allocated to the database instance, and the target memory space can be converted from an access-allowed state to an access-prohibited state by reallocating the memory space; through the method, when the capacity of the memory is actually reduced, the capacity is reduced based on the pre-allocated continuous virtual address space, so that all data structures in the section of memory are continuous, and the original data structures are prevented from being invaded in the process of adjusting the capacity of the dynamic memory. In addition, through the mode, long-time locking operation is not needed, and therefore the problem that online database service is unavailable in the dynamic memory capacity adjusting process is solved.
The present application is described below with reference to specific embodiments and specific application scenarios.
Referring to fig. 5, fig. 5 is a flowchart illustrating a dynamic memory capacity adjustment method according to an exemplary embodiment.
In this specification, the dynamic memory capacity adjustment method may be applied to a database instance corresponding to a database. The specific database type of the database is not particularly limited in this specification.
In this specification, the dynamic memory capacity adjustment may include dynamic memory expansion and/or dynamic memory reduction. The following description will be divided into two parts, dynamic memory capacity expansion and dynamic memory capacity reduction.
Dynamic memory capacity expansion
As shown in fig. 5, the dynamic memory capacity adjustment method may perform the following steps:
step 502: determining a first memory capacity to be expanded.
For example, the first memory capacity to be expanded may be determined to be NBuffers1.
In step 502, the capacity size of the first memory capacity may be specified by a user or may be automatically determined by an online database service.
For example, a user may modify the configuration parameters related to the memory specification in an instance parameter configuration interface for the database instance, and may submit the modified configuration parameters to an online database service; in response to the modified configuration parameter related to the memory specification submitted by the user, the database instance may initiate a memory expansion request, and the first memory capacity may be determined according to the modified configuration parameter indicated in the memory expansion request.
For another example, in response to a memory expansion request initiated by the database instance, the online database service may automatically determine the first memory capacity according to instance parameters such as a memory specification and a reserved memory capacity of the database instance, and may further combine a pre-configured memory expansion policy.
Step 504: determining at least part of a reserved memory space corresponding to the first memory capacity as a first target memory space from a reserved memory space pre-allocated for a database instance, and releasing the first target memory space; wherein the reserved memory space comprises a continuous virtual address space configured to be in a prohibited access state during a pre-allocation process.
For example, as shown in fig. 3, a continuous virtual address space 30 may be pre-allocated for a database instance, and the virtual address space 30 may be configured in a state of access prohibition in the pre-allocation process, so that the virtual address space 30 is used as a reserved memory space; further, after determining that the first memory capacity to be expanded is NBuffers1, at least a part of the reserved memory space corresponding to the first memory capacity NBuffers1 (i.e., the virtual address space 31 configured in the access prohibited state) may be determined as a first target memory space for performing memory expansion from the reserved memory space (i.e., the virtual address space 30 configured in the access prohibited state) pre-allocated to the database instance, and the first target memory space (i.e., the virtual address space 31 configured in the access prohibited state) may be released.
In step 504, details of a specific implementation manner of releasing the first target memory space are not described in this specification. For example, the attributes such as the starting location and the capacity size of the first target memory space may be specified through a munmap function, so as to release the first target memory space.
In an embodiment shown, before the step 504, a continuous virtual address space may be pre-allocated to the database instance to serve as the reserved memory space. In this implementation, before determining, from the reserved memory space pre-allocated to the database instance, that at least a part of the reserved memory space corresponding to the first memory capacity is the first target memory space, the method may further include: and allocating the reserved memory space to the database instance, and configuring the reserved memory space into a forbidden access state in the allocation process.
For example, as shown in FIG. 3, a contiguous virtual address space 30 may be allocated to the database embodiment, and the virtual address space 30 may be configured in a disabled state during the allocation process.
In the allocation process, details of a specific implementation manner for configuring the virtual address space into the access prohibited state or the access permitted state are not described in this specification. For example, a virtual address space may be allocated to the database instance by a mmap function; and the allocated virtual address space may be configured to be in an access prohibited state through a PROT _ NONE attribute.
In one possible embodiment, the database instance specifically includes a database instance corresponding to a database adopting a multi-process architecture; the allocating the reserved memory space to the database instance, and configuring the reserved memory space in a no access state in an allocation process may specifically include: responding to a memory pre-allocation request initiated by any process in a plurality of processes corresponding to the database instance, respectively allocating continuous virtual address spaces for each process in the plurality of processes, configuring the continuous virtual address spaces allocated for each process in a forbidden access state in an allocation process, and determining the continuous virtual address spaces allocated for each process and configured in the forbidden access state as the reserved memory spaces of each process.
For example, the database instance may be a PostgreSQL database instance corresponding to a PostgreSQL database; the plurality of processes corresponding to the PostgreSQL database instance may include process a and process B; in response to a memory pre-allocation request initiated by the process a, continuous virtual address spaces with the same memory capacity can be allocated to the process a and the process B, respectively, and the continuous virtual address spaces allocated to the process a and the process B can be configured to be in a no-access state in the allocation process, and are used as reserved memory spaces of the process a and the process B.
It should be noted that, in the above illustrated embodiment, the database adopting the multi-process architecture may be a PostgreSQL database, which is merely an exemplary description, and the comparison in this specification is not particularly limited; in addition, the multiple processes corresponding to the PostgreSQL database instance include process a and process B, which are also only an exemplary description, and the number of processes corresponding to the PostgreSQL database instance may be any positive integer.
In a related embodiment, for a database instance corresponding to a database adopting a multi-process architecture, since each process in a plurality of processes can generally manage and allocate a virtual address space of each process independently, virtual addresses of the same data in virtual address spaces of different processes may be different.
In the above illustrated embodiment, since the original data structure can be prevented from being invaded during the dynamic memory capacity adjustment process, the dynamic memory capacity adjustment requirement of the database instance corresponding to the database adopting the multi-process architecture can be satisfied.
In an embodiment shown, the pre-allocating the reserved memory space may specifically include: a continuous virtual address space supporting paged storage.
For example, as shown in FIG. 3, a contiguous virtual address space 30 may be pre-allocated for a database instance, and the virtual address space 30 may be configured to be in a no access state during the pre-allocation process, and the virtual address space 30 may be configured to be a contiguous virtual address space that supports paged storage, such that the virtual address space 30 is a reserved memory space.
It should be noted that, in the above illustrated embodiment, fig. 3 is an exemplary description manner by taking the example that the reserved memory space configured in the access prohibition state includes a continuous virtual address space supporting pagelet storage, and no particular limitation is made to this specification. In practical applications, the reserved memory space configured in the access-prohibited state may also include a continuous virtual address space supporting large-page storage.
In order to facilitate a better understanding of the technical solutions in the present specification, the following briefly introduces a small page storage and a large page storage.
In a page-type virtual memory, both a virtual memory space and a physical memory space may be divided into a number of fixed-size pages (pages), and memory space may be allocated to each thread in units of pages. The size of the "small page" may be set to 4K in general; the size of the "large page" may be set to 2MB, 1GB, or even larger in general.
Wherein, the small page can be also called as a common page; the use of the large page can effectively reduce the memory occupied by the page table and improve the access efficiency of the TLB (Translation Lookaside Buffer).
In practical application, when a memory space is allocated through the mmap function, a virtual address space supporting a small-page storage mode can be allocated generally, the allocated virtual address space cannot be directly mapped to a physical memory, and page fault interruption is triggered until the memory is requested to be accessed, so that the allocated virtual address space is mapped to the physical memory; if the virtual address space supporting the large-page storage mode needs to be allocated, the virtual address space supporting the large-page storage mode is allocated, and the virtual address space can be directly mapped to the physical memory.
It can be seen that, in the above illustrated embodiment, the reserved space pre-allocated for the database embodiment may be a continuous virtual address space supporting small-page storage, so that, in the process of pre-allocating the reserved memory space, the reserved memory space is not directly mapped to the physical memory, but at least a part of the reserved memory space is mapped to the physical memory until at least a part of the reserved memory space in the reserved memory space is actually used for memory capacity expansion or memory access, thereby avoiding that the reserved memory space configured in a prohibited access state occupies the physical memory, which results in physical memory resource waste.
Step 506: and reallocating the first target memory space to the database instance, and configuring the first target memory space into an access permission state in the reallocating process.
For example, as shown in fig. 3, a first target memory space (i.e., virtual address space 31) may be reallocated to the database instance via a mmap function, and virtual address space 31 may be configured to be in a state of allowing access during the reallocation process.
In this specification, when the reserved memory space configured in the access prohibition state specifically includes a continuous virtual address space supporting small-page storage, during the reallocation process, the first target memory space may be configured as a continuous virtual address space supporting large-page storage, and the first target memory space may also be configured as a continuous virtual address space supporting small-page storage, so as to implement a dynamic memory capacity adjustment mode compatible with large-page storage and small-page storage.
In an embodiment shown, the pre-allocating the reserved memory space may specifically include: a continuous virtual address space supporting pagelet storage; the step 506 may further include: configuring the first target memory space into a continuous virtual address space supporting large-page storage in a reallocation process; applying for a physical address space supporting large-page storage corresponding to the first memory capacity for the database instance; and mapping the applied physical address space supporting large-page storage to the first target memory space which is newly allocated to the database instance.
For example, as shown in fig. 3, a continuous virtual address space 30 may be pre-allocated for a database instance, and the virtual address space 30 may be configured in a no-access state during the pre-allocation process, and the virtual address space 30 may be configured as a continuous virtual address space supporting paged storage, so as to use the virtual address space 30 as a reserved memory space; further, when it is determined that at least a part of the reserved memory space (i.e., the virtual address space 31 configured in the access prohibition state) corresponding to the first memory capacity NBuffers1 is a first target memory space for performing memory expansion, the first target memory space may be released; further, the virtual address space 31 may be reallocated to the database instance and the virtual address space 31 may be configured to allow access during the reallocation and the virtual address space 31 may be configured as a continuous virtual address space supporting large page storage during the reallocation; further, a physical address space supporting large-page storage corresponding to the first memory capacity NBuffers1 may also be applied; further, the physical address space supporting the large page storage may be mapped to the virtual address space 31 reallocated to the first target memory space (i.e. configured to allow access).
It should be noted that, in the above illustrated embodiment, fig. 3 is an exemplary description manner by taking an example that the reserved memory space configured in the access prohibition state includes a continuous virtual address space supporting small-page storage, and the first target memory space configured in the access permission state includes a continuous virtual address space supporting large-page storage, and does not particularly limit the present specification. In practice, the first target memory space, which is configured to allow access to the state, may also include a contiguous virtual address space that supports pagelet storage.
In another illustrated embodiment, the pre-allocating the reserved memory space may specifically include: a continuous virtual address space supporting small page storage; the step 506 may further include: configuring the first target memory space as a continuous virtual address space supporting pagelet storage during the reallocation process.
For example, as shown in fig. 3, a continuous virtual address space 30 may be pre-allocated for a database instance, and the virtual address space 30 may be configured in a no-access state during the pre-allocation process, and the virtual address space 30 may be configured as a continuous virtual address space supporting small-page storage, so as to use the virtual address space 30 as a reserved memory space; further, when it is determined that at least a part of the reserved memory space (i.e., the virtual address space 31 configured in the access prohibition state) corresponding to the first memory capacity NBuffers1 is a first target memory space for performing memory expansion, the first target memory space may be released; further, the virtual address space 31 may be reallocated to the database instance, and the virtual address space 31 may be configured to allow access during the reallocation process, and the virtual address space 31 may be configured as a continuous virtual address space supporting paged storage during the reallocation process.
(II) dynamic memory capacity reduction
The method may further comprise:
step 508: and determining a second memory capacity to be reduced.
Step 510: and determining at least part of the continuous virtual address space corresponding to the second memory capacity as a second target memory space from the continuous virtual address space which is allocated for the database instance and is configured to be in an access permission state, and releasing the second target memory space.
Step 512: reallocating the second target memory space to the database instance, and configuring the second target memory space in a prohibited access state during the reallocating process.
For example, as shown in fig. 4, it may be determined that the second memory capacity to be condensed is NBuffers2; further, at least a portion of the continuous virtual address space corresponding to the second memory capacity NBuffers2 may be determined to be a second target memory space (i.e., the virtual address space 42 configured to allow the access state) from the continuous virtual address spaces (i.e., the virtual address space 41+ the virtual address space 42) configured to allow the access state allocated to the database instance, and the second target memory space may be released; further, the virtual address space 42 may be reassigned to the database instance, and the virtual address space 42 may be configured to a prohibited access state during the reassignment.
In step 508, the capacity of the second memory capacity may be specified by a user or automatically determined by an online database service, and for a specific determination, reference is made to the related embodiment of step 502, which is not described herein again.
In step 510, the continuous virtual address space configured to allow access to the state may specifically include: a contiguous virtual address space configured to allow access to states and to support pagelet storage; or a continuous virtual address space configured to allow access to state and support large page storage.
It should be noted that fig. 4 is an exemplary illustration, and does not limit the present specification in particular, taking the example that the continuous virtual address space configured to allow the access state includes a continuous virtual address space supporting large-page storage. In practical applications, the continuous virtual address space configured to allow access to the state may also include a continuous virtual address space supporting pagelet storage.
In an embodiment, in step 510, in the case that the continuous virtual address space configured to allow the access state includes a continuous virtual address space configured to allow the access state and support large-page storage, before releasing the second target memory space, the method may further include: determining a physical address space supporting large-page storage corresponding to the second target memory space; deleting the mapping between the physical address space and the second target memory space.
In one embodiment, in step 512, in the case that the continuous virtual address space configured to allow access state includes a continuous virtual address space configured to allow access state and supporting large-page storage, the method may further include: configuring the second target memory space into a continuous virtual address space supporting small page storage in a reallocation process; and releasing the physical address space supporting the large-page storage corresponding to the second target memory space.
For example, as shown in fig. 4, a database instance may be allocated with continuous virtual address space 41 and virtual address space 42, and the virtual address space 41 and virtual address space 42 may be configured to allow access during the allocation process, and the virtual address space 41 and virtual address space 42 may be configured as continuous virtual address space supporting large-page storage during the allocation process; further, after determining that the second memory capacity to be reduced is NBuffers2, determining, from the continuous virtual address spaces configured to allow access to the database instances (i.e., virtual address space 41+ virtual address space 42), that at least a portion of the continuous virtual address space corresponding to the second memory capacity NBuffers2 is a second target memory space (i.e., virtual address space 42 configured to allow access to the database instances), and releasing the second target memory space; further, the virtual address space 42 may be reallocated to the database instance, and the virtual address space 42 may be configured to a no access state during the reallocation, and the virtual address space 42 may be configured to a contiguous virtual address space supporting paged storage during the reallocation, such that the virtual address space 42 configured to a no access state may serve as a reserved memory space allocated for the database instance; in addition, since the virtual address space 42 has been configured as a continuous virtual address space supporting small-page storage, the physical address space corresponding to the virtual address space 42 supporting large-page storage can also be freed up.
According to the technical scheme, the first memory space for memory capacity expansion is at least part of continuous virtual address space determined from pre-allocated continuous virtual address space serving as reserved memory space, and the first memory space can be converted from an access prohibition state to an access permission state in a manner of reallocating the memory space; through the above manner, when the capacity of the memory is actually expanded, the capacity expansion is performed based on the pre-allocated continuous virtual address space, and no new discontinuous virtual address space is applied, so that all data structures in the section of the memory are continuous, and the intrusion into the original data structure is avoided in the process of dynamic memory capacity adjustment. In addition, through the mode, data stored in the original memory space does not need to be copied to the newly applied memory space, and long-time locking operation is not needed, so that the problem that online database service is unavailable in the dynamic memory capacity adjusting process is solved.
Referring to fig. 6, fig. 6 is a flowchart illustrating a dynamic memory capacity reduction method according to an exemplary embodiment. The dynamic memory capacity reduction method can be applied to database instances. As shown in fig. 6, the dynamic memory capacity reduction method may perform the following steps:
step 602: determining the target memory capacity to be reduced;
step 604: determining at least part of continuous virtual address space corresponding to the target memory capacity as target memory space from continuous virtual address space which is allocated for the database instance and is configured to be in an access-allowed state, and releasing the target memory space;
step 606: and reallocating the target memory space to the database instance, and configuring the target memory space to be in a forbidden access state in the reallocating process.
In one illustrated embodiment, the contiguous virtual address space configured to allow access to states includes:
a contiguous virtual address space configured to allow access to a state and to support pagelet storage; alternatively, the first and second electrodes may be,
a contiguous virtual address space configured to allow access to state and support large page storage.
In one embodiment, in the case that the continuous virtual address space configured to allow access state includes a continuous virtual address space configured to allow access state and support large page storage, before releasing the target memory space, the method further includes:
determining a physical address space supporting large-page storage corresponding to the target memory space;
deleting the mapping between the physical address space and the target memory space.
In one embodiment, in the case that the continuous virtual address space configured to allow access state comprises a continuous virtual address space configured to allow access state and supporting large page storage, the method further comprises:
configuring the target memory space into a continuous virtual address space supporting small page storage in a reallocation process; and releasing the physical address space supporting the large-page storage corresponding to the target memory space.
According to the technical scheme, the target memory space for memory capacity reduction is at least part of continuous virtual address space determined from the continuous virtual address space which is allocated for the database instance and is configured to be in the access-permitted state, and the target memory space can be converted from the access-permitted state to the access-prohibited state in a manner of reallocating the memory space; through the above manner, since the actual capacity reduction of the memory is performed based on the pre-allocated continuous virtual address space, all data structures in the memory are also continuous, thereby avoiding intrusion into the original data structure during the dynamic memory capacity adjustment process. In addition, through the mode, long-time locking operation is not needed, and therefore the problem that online database service is unavailable in the dynamic memory capacity adjusting process is solved.
Corresponding to the embodiment of the dynamic memory capacity adjusting method, the present specification also provides an embodiment of a dynamic memory capacity adjusting system, an embodiment of a dynamic memory capacity adjusting apparatus, and an embodiment of a dynamic memory capacity scaling apparatus.
In this specification, the dynamic memory capacity adjustment system may perform steps 502 to 512, or the dynamic memory capacity adjustment system may perform steps 602 to 604, so as to implement the technical solution of this specification.
Referring to fig. 7, fig. 7 is a hardware structure diagram of an electronic device in which a dynamic memory capacity adjustment apparatus according to an exemplary embodiment is located. At the hardware level, the device includes a processor 702, an internal bus 704, a network interface 706, a memory 708, and a non-volatile storage 710, although other hardware required for the service may be included. One or more embodiments of the present description can be implemented in software, such as by the processor 702 reading corresponding computer programs from the non-volatile storage 710 into the memory 708 and then executing. Of course, besides software implementation, the one or more embodiments in this specification do not exclude other implementations, such as logic devices or combinations of software and hardware, and so on, that is, the execution subject of the following processing flow is not limited to each logic unit, and may also be hardware or logic devices.
Referring to fig. 8, fig. 8 is a block diagram illustrating a dynamic memory capacity adjustment apparatus according to an exemplary embodiment. The dynamic memory capacity adjusting apparatus may be applied to the electronic device shown in fig. 7 to implement the technical solution of the present specification. Wherein, the dynamic memory capacity adjusting device may include:
a first determining unit 802, configured to determine a first memory capacity to be expanded;
a first releasing unit 804, configured to determine, from the reserved memory space pre-allocated to the database instance, that at least a part of the reserved memory space corresponding to the first memory capacity is a first target memory space, and release the first target memory space; the reserved memory space comprises a continuous virtual address space configured to be in a forbidden access state in a preallocation process;
a first allocating unit 806, configured to reallocate the first target memory space to the database instance, and configure the first target memory space to an access-allowed state during the reallocation.
In this embodiment, the pre-allocating the reserved memory space includes:
a continuous virtual address space supporting small page storage.
In this embodiment, the first allocating unit 806 is further configured to:
configuring the first target memory space as a continuous virtual address space supporting small page storage in a reallocation process;
alternatively, the first and second electrodes may be,
configuring the first target memory space into a continuous virtual address space supporting large-page storage in a reallocation process; applying for the physical address space supporting large-page storage corresponding to the first memory capacity for the database instance; mapping the applied physical address space supporting large-page storage to the first target memory space newly allocated to the database instance.
In this embodiment, the apparatus further includes:
and the pre-allocation unit is used for allocating the reserved memory space to the database instance and configuring the reserved memory space into a forbidden access state in the allocation process.
In this embodiment, the database instance includes a database instance corresponding to a database adopting a multi-process architecture;
the pre-allocation unit is specifically configured to:
responding to a memory pre-allocation request initiated by any process in a plurality of processes corresponding to the database instance, respectively allocating continuous virtual address spaces for each process in the plurality of processes, configuring the continuous virtual address spaces respectively allocated for each process in a no-access state in an allocation process, and determining the continuous virtual address spaces respectively allocated for each process and configured in the no-access state as the reserved memory space of each process.
In this embodiment, the apparatus further includes:
the second determining unit is used for determining the second memory capacity to be reduced;
a second releasing unit, configured to determine, from the continuous virtual address space allocated to the database instance and configured to be in an access-allowed state, that at least a part of the continuous virtual address space corresponding to the second memory capacity is a second target memory space, and release the second target memory space;
and the second allocating unit is used for reallocating the second target memory space to the database instance and configuring the second target memory space into a forbidden access state in the reallocating process.
In this embodiment, the continuous virtual address space configured to allow access to the state includes:
a contiguous virtual address space configured to allow access to a state and to support pagelet storage; alternatively, the first and second electrodes may be,
a continuous virtual address space configured to allow access to state and support large page storage.
In this embodiment, the second releasing unit is further configured to:
determining a physical address space supporting large-page storage corresponding to the second target memory space;
deleting the mapping between the physical address space and the second target memory space.
In this embodiment, the second allocating unit is further configured to:
configuring the second target memory space into a continuous virtual address space supporting small page storage in a reallocation process; and releasing the physical address space supporting the large-page storage corresponding to the second target memory space.
Referring to fig. 9, fig. 9 is a block diagram of a dynamic memory capacity reduction device according to an exemplary embodiment. The dynamic internal memory capacity storage apparatus may be applied to the electronic device shown in fig. 7, so as to implement the technical solution of this specification. Wherein, the dynamic memory capacity reduction device may include:
a determining unit 902, configured to determine a target memory capacity to be reduced;
a releasing unit 904, configured to determine, from the continuous virtual address spaces allocated to the database instance and configured to be in an access-allowed state, that at least a part of the continuous virtual address spaces corresponding to the target memory capacity is a target memory space, and release the target memory space;
an allocating unit 906, configured to reallocate the target memory space to the database instance, and configure the target memory space in a prohibited access state during reallocation.
In this embodiment, the continuous virtual address space configured to allow access to the state includes:
a contiguous virtual address space configured to allow access to a state and to support pagelet storage; alternatively, the first and second electrodes may be,
a continuous virtual address space configured to allow access to state and support large page storage.
In this embodiment, the releasing unit 904 is further configured to:
determining a physical address space supporting large-page storage corresponding to the target memory space;
deleting the mapping between the physical address space and the target memory space.
In this embodiment, the allocating unit 906 is further configured to:
configuring the target memory space into a continuous virtual address space supporting small page storage in a reallocation process; and releasing the physical address space supporting the large-page storage corresponding to the target memory space.
The implementation process of the functions and actions of each unit in the above device is specifically described in the implementation process of the corresponding step in the above method, and is not described herein again.
For the device embodiments, since they substantially correspond to the method embodiments, reference may be made to the partial description of the method embodiments for relevant points. The above-described embodiments of the apparatus are only illustrative, and the units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the modules can be selected according to actual needs to achieve the purpose of the solution in the specification. One of ordinary skill in the art can understand and implement it without inventive effort.
The systems, devices, modules or units illustrated in the above embodiments may be implemented by a computer chip or an entity, or by a product with certain functions. A typical implementation device is a computer, which may be in the form of a personal computer, laptop, cellular telephone, camera phone, smart phone, personal digital assistant, media player, navigation device, email messaging device, game console, tablet computer, wearable device, or a combination of any of these devices.
In a typical configuration, a computer includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
The memory may include forms of volatile memory in a computer readable medium, random Access Memory (RAM) and/or non-volatile memory, such as Read Only Memory (ROM) or flash memory (flash RAM). Memory is an example of a computer-readable medium.
Computer-readable media, including both non-transitory and non-transitory, removable and non-removable media, may implement information storage by any method or technology. The information may be computer readable instructions, data structures, modules of a program, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static Random Access Memory (SRAM), dynamic Random Access Memory (DRAM), other types of Random Access Memory (RAM), read Only Memory (ROM), electrically Erasable Programmable Read Only Memory (EEPROM), flash memory or other memory technology, compact disc read only memory (CD-ROM), digital Versatile Disks (DVD) or other optical storage, magnetic cassettes, magnetic disk storage, quantum memory, graphene-based storage media or other magnetic storage devices, or any other non-transmission medium, that can be used to store information that can be accessed by a computing device. As defined herein, a computer readable medium does not include a transitory computer readable medium such as a modulated data signal and a carrier wave.
It should also be noted that the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrases "comprising a," "8230," "8230," or "comprising" does not exclude the presence of other like elements in a process, method, article, or apparatus comprising the element.
The foregoing description has been directed to specific embodiments of this disclosure. Other embodiments are within the scope of the following claims. In some cases, the actions or steps recited in the claims may be performed in a different order than in the embodiments and still achieve desirable results. In addition, the processes depicted in the accompanying figures do not necessarily require the particular order shown, or sequential order, to achieve desirable results. In some embodiments, multitasking and parallel processing may also be possible or may be advantageous.
The terminology used in the description of the one or more embodiments is for the purpose of describing the particular embodiments only and is not intended to be limiting of the description of the one or more embodiments. As used in one or more embodiments of the present specification and the appended claims, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It should also be understood that the term "and/or" as used herein refers to and encompasses any and all possible combinations of one or more of the associated listed items.
It should be understood that although the terms first, second, third, etc. may be used herein in one or more embodiments to describe various information, such information should not be limited to these terms. These terms are only used to distinguish one type of information from another. For example, first information may also be referred to as second information, and similarly, second information may also be referred to as first information, without departing from the scope of one or more embodiments herein. The word "if" as used herein may be interpreted as "at" \8230; "or" when 8230; \8230; "or" in response to a determination ", depending on the context.
The above description is intended only to be exemplary of the one or more embodiments of the present disclosure, and should not be taken as limiting the one or more embodiments of the present disclosure, as any modifications, equivalents, improvements, etc. that come within the spirit and scope of the one or more embodiments of the present disclosure are intended to be included within the scope of the one or more embodiments of the present disclosure.

Claims (16)

1. A dynamic memory capacity adjusting method is applied to a database instance; the method comprises the following steps:
determining a first memory capacity to be expanded;
determining at least part of reserved memory space corresponding to the first memory capacity as a first target memory space from the reserved memory space pre-allocated for the database instance, and releasing the first target memory space; wherein the reserved memory space comprises a continuous virtual address space configured to be in a forbidden access state in a pre-allocation process;
reallocating the first target memory space to the database instance, and configuring the first target memory space to be in a permission access state in the reallocating process.
2. The method of claim 1, the pre-allocated reserved memory space comprising:
a continuous virtual address space supporting paged storage.
3. The method of claim 2, further comprising:
configuring the first target memory space into a continuous virtual address space supporting small page storage in a reallocation process;
alternatively, the first and second liquid crystal display panels may be,
configuring the first target memory space into a continuous virtual address space supporting large-page storage in a reallocation process; applying for a physical address space supporting large-page storage corresponding to the first memory capacity for the database instance; mapping the applied physical address space supporting large-page storage to the first target memory space newly allocated to the database instance.
4. The method of claim 1, prior to determining at least a portion of the reserved memory space corresponding to the first memory capacity as the first target memory space from the reserved memory space pre-allocated for the database instance, the method further comprising:
and allocating the reserved memory space to the database instance, and configuring the reserved memory space into a forbidden access state in the allocation process.
5. The method of claim 4, the database instance comprising a database instance corresponding to a database employing a multiprocessing architecture;
the allocating the reserved memory space to the database instance and configuring the reserved memory space to a prohibited access state in the allocating process includes:
responding to a memory pre-allocation request initiated by any process in a plurality of processes corresponding to the database instance, respectively allocating continuous virtual address spaces for each process in the plurality of processes, configuring the continuous virtual address spaces allocated for each process in a forbidden access state in an allocation process, and determining the continuous virtual address spaces allocated for each process and configured in the forbidden access state as the reserved memory spaces of each process.
6. The method of claim 1, further comprising:
determining a second memory capacity to be reduced;
determining at least part of the continuous virtual address space corresponding to the second memory capacity as a second target memory space from the continuous virtual address space which is allocated to the database instance and is configured to be in an access-allowed state, and releasing the second target memory space;
reallocating the second target memory space to the database instance, and configuring the second target memory space in a prohibited access state during the reallocating process.
7. The method of claim 6, the contiguous virtual address space configured to allow access to states, comprising:
a contiguous virtual address space configured to allow access to a state and to support pagelet storage; alternatively, the first and second electrodes may be,
a continuous virtual address space configured to allow access to state and support large page storage.
8. The method of claim 7, in the case that the contiguous virtual address space configured to allow access state comprises a contiguous virtual address space configured to allow access state and to support large page storage, prior to releasing the second target memory space, the method further comprising:
determining a physical address space supporting large-page storage corresponding to the second target memory space;
deleting the mapping between the physical address space and the second target memory space.
9. The method of claim 7, in the case that the contiguous virtual address space configured to allow access state comprises a contiguous virtual address space configured to allow access state and to support large page storage, the method further comprising:
configuring the second target memory space as a continuous virtual address space supporting small page storage in the reallocation process; and releasing the physical address space supporting the large-page storage corresponding to the second target memory space.
10. A dynamic memory capacity-reducing method is applied to a database instance, and comprises the following steps:
determining the target memory capacity to be reduced;
determining at least part of continuous virtual address space corresponding to the target memory capacity as target memory space from continuous virtual address space which is allocated to the database instance and is configured to be in an access-allowed state, and releasing the target memory space;
and reallocating the target memory space to the database instance, and configuring the target memory space to be in a forbidden access state in the reallocating process.
11. The method of claim 10, the continuous virtual address space configured to allow access to states, comprising:
a contiguous virtual address space configured to allow access to a state and to support pagelet storage; alternatively, the first and second electrodes may be,
a continuous virtual address space configured to allow access to state and support large page storage.
12. The method of claim 11, in the case that the contiguous virtual address space configured to allow access state comprises a contiguous virtual address space configured to allow access state and to support large page storage, prior to releasing the target memory space, the method further comprising:
determining a physical address space supporting large-page storage corresponding to the target memory space;
deleting the mapping between the physical address space and the target memory space.
13. The method of claim 11, in the case that the contiguous virtual address space configured to allow access state comprises a contiguous virtual address space configured to allow access state and to support large page storage, the method further comprising:
configuring the target memory space into a continuous virtual address space supporting small page storage in a reallocation process; and releasing the physical address space supporting the large-page storage corresponding to the target memory space.
14. A dynamic memory capacity adjustment system for implementing the method of any one of claims 1 to 13.
15. An electronic device comprises a communication interface, a processor, a memory and a bus, wherein the communication interface, the processor and the memory are connected with each other through the bus;
the memory has stored therein machine-readable instructions, which the processor executes by calling to perform the method of any one of claims 1 to 13.
16. A machine readable storage medium having stored thereon machine readable instructions which, when invoked and executed by a processor, carry out the method of any of claims 1 to 13.
CN202211430239.3A 2022-11-15 2022-11-15 Dynamic memory capacity adjusting method, system, electronic equipment and storage medium Pending CN115756843A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211430239.3A CN115756843A (en) 2022-11-15 2022-11-15 Dynamic memory capacity adjusting method, system, electronic equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211430239.3A CN115756843A (en) 2022-11-15 2022-11-15 Dynamic memory capacity adjusting method, system, electronic equipment and storage medium

Publications (1)

Publication Number Publication Date
CN115756843A true CN115756843A (en) 2023-03-07

Family

ID=85371748

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211430239.3A Pending CN115756843A (en) 2022-11-15 2022-11-15 Dynamic memory capacity adjusting method, system, electronic equipment and storage medium

Country Status (1)

Country Link
CN (1) CN115756843A (en)

Similar Documents

Publication Publication Date Title
US7363456B2 (en) System and method of allocating contiguous memory in a data processing system
EP2645259B1 (en) Method, device and system for caching data in multi-node system
US10824555B2 (en) Method and system for flash-aware heap memory management wherein responsive to a page fault, mapping a physical page (of a logical segment) that was previously reserved in response to another page fault for another page in the first logical segment
JP2017507448A (en) File access method and related device
WO2022120522A1 (en) Memory space allocation method and device, and storage medium
CN115421924A (en) Memory allocation method, device and equipment
CN115617542A (en) Memory exchange method and device, computer equipment and storage medium
CN110659248A (en) User mode file system design method and system based on nonvolatile memory
US20140289739A1 (en) Allocating and sharing a data object among program instances
US10908958B2 (en) Shared memory in memory isolated partitions
CN106295413B (en) Semiconductor device with a plurality of semiconductor chips
CN116680233A (en) File access method, system, electronic equipment and machine-readable storage medium
CN115756843A (en) Dynamic memory capacity adjusting method, system, electronic equipment and storage medium
US20220114086A1 (en) Techniques to expand system memory via use of available device memory
CN114518962A (en) Memory management method and device
CN109582938B (en) Report generation method and device
CN115809140A (en) Memory management method, system, electronic equipment and storage medium
CN113448722A (en) Mapping method of process memory and instance processing method based on serverless architecture
CN111444113A (en) Non-volatile storage medium sharing method and device, electronic equipment and storage equipment
US11061609B2 (en) Distributed memory object method and system enabling memory-speed data access in a distributed environment
US20230384934A1 (en) Method and system for managing memory associated with a peripheral component interconnect express (pcie) solid-state drive (ssd)
CN112214176B (en) SAN cloud disk preparation method and equipment
WO2021254047A1 (en) Method for realizing redistribution of distributed database, database, server and medium
CN113296932B (en) System and method for realizing memory swap-in and memory swap-out
CN111625192B (en) Metadata object access method, device, equipment and medium

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