Managing memory usage in server systems
First Claim
Patent Images
1. A method for a server system to manage memory in a server, the method comprising the steps of:
- monitoring, by the server system, resource usage of a processor and a storage device;
monitoring, by the server system, memory usage for a local memory by the server;
initializing a first clean-up operation that rate limits synchronizing cached pages in the local memory with pages in the storage device to increase the amount of available space in the local memory based on the resource usage and a first level of the memory usage; and
initializing a second clean-up operation that does not rate limit synchronizing the cached pages in the local memory with the pages in the storage device, and independently of the resource usage based on a second level of the memory usage higher than the first level of the memory usage.
1 Assignment
0 Petitions
Accused Products
Abstract
A memory manager reduces the impact of memory clean-up operations on server performance. The memory manager monitors local memory usage and other resource usage by the server, such as processor, storage, and network usage. When moderately high memory usage is detected, the memory manager performs memory clean-up operations during relatively low processor, storage, and network usage to reduce the impact of the clean-up operations on server performance. When excessively high memory usage is detected, the memory manager more aggressively cleans-up local memory independently of processor, storage, and network usage.
-
Citations
21 Claims
-
1. A method for a server system to manage memory in a server, the method comprising the steps of:
-
monitoring, by the server system, resource usage of a processor and a storage device; monitoring, by the server system, memory usage for a local memory by the server; initializing a first clean-up operation that rate limits synchronizing cached pages in the local memory with pages in the storage device to increase the amount of available space in the local memory based on the resource usage and a first level of the memory usage; and initializing a second clean-up operation that does not rate limit synchronizing the cached pages in the local memory with the pages in the storage device, and independently of the resource usage based on a second level of the memory usage higher than the first level of the memory usage. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A server system, comprising:
-
a server including a processor and local memory; a storage device; and one or more stored sequences of instructions, which, when executed by the processor, cause the processor to carry out the steps of; monitoring local memory usage, processor usage, and storage device usage by the server; identifying a first memory pressure state for the local memory based on a first level of the local memory usage; conducting a first clean-up operation for the local memory during the first memory pressure state based on the processor usage and the storage device usage; identifying a second memory pressure state for the local memory based on a second level of the local memory usage higher than the first level of the local memory usage; conducting a second clean-up operation during the second memory pressure state independently of the processor usage and the storage device usage; rate limiting the first clean-up operation during a specified time period; and not rate limiting the second clean-up operation. - View Dependent Claims (13, 14, 15, 16, 17)
-
-
18. A computer program stored on a non-transitory computer-readable medium for a server system, the computer program comprising a set of instructions operable to:
-
monitor resource usage by a server; monitor memory usage of a local memory by the server; conduct a first clean-up operation for the local memory based on a first level of the memory usage; initiate the first clean-up operation based on the resource usage; conduct a second clean-up operation for the local memory based on a second level of the memory usage larger than the first level of the memory usage; initiate the second clean-up operation independently of the resource usage; rate limit the first clean-up operation during a specified time period; and not rate limit the second clean-up operation. - View Dependent Claims (19, 20, 21)
-
Specification