Memory management of data processing systems

US2016357572A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2016357572-A1
Application numberUS-201514973371-A
CountryUS
Kind codeA1
Filing dateDec 17, 2015
Priority dateJun 5, 2015
Publication dateDec 8, 2016
Grant date

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Techniques for memory management of a data processing system are described herein. According to one embodiment, a memory usage monitor executed by a processor of a data processing system monitors memory usages of groups of programs running within a memory of the data processing system. In response to determining that a first memory usage of a first group of the programs exceeds a first predetermined threshold, a user level reboot is performed in which one or more applications running within a user space of an operating system of the data processing system are terminated and relaunched. In response to determining that a second memory usage of a second group of the programs exceeds a second predetermined threshold, a system level reboot is performed in which one or more system components running within a kernel space of the operating system are terminated and relaunched.

First claim

Opening claim text (preview).

What is claimed is: 1 . A non-transitory machine-readable medium having instructions stored therein, which when executed by a processor, cause the processor to perform a method for memory management, the method comprising: monitoring, by a memory usage monitor executed by a processor of a data processing system, memory usages of a plurality of groups of a plurality of programs running within a memory of the data processing system; in response to determining that a first memory usage of a first group of the programs exceeds a first predetermined threshold, performing a user level reboot in which one or more applications running within a user space of an operating system of the data processing system are terminated and relaunched; and in response to determining that a second memory usage of a second group of the programs exceeds a second predetermined threshold, performing a system level reboot in which one or more system components running within a kernel space of the operating system are terminated and relaunched. 2 . The non-transitory machine-readable medium of claim 1 , wherein the method further comprises: prior to performing a user level reboot or a system level reboot, generating a report having information describing overall memory usage of the programs; and transmitting the report to a predetermined destination for a diagnosis purpose. 3 . The non-transitory machine-readable medium of claim 1 , wherein the method further comprises: after the user level reboot, examining a kernel memory usage of the one or more system components to determine whether the kernel memory usage exceeds a third predetermined threshold; and performing the system level reboot in response to determining that the kernel memory usage exceeding the third predetermined threshold after the user space reboot. 4 . The non-transitory machine-readable medium of claim 1 , wherein each of the programs is one of an application, a daemon process, and a kernel component of the operating system. 5 . The non-transitory machine-readable medium of claim 1 , wherein the method further comprises monitoring user activities of a user operating the data processing system, wherein the user space reboot or the system level reboot is performed only when no user activity with the data processing system is detected for a predetermined period of time. 6 . The non-transitory machine-readable medium of claim 1 , wherein the method further comprises: monitoring user activities of a user operating the data processing system; monitoring a memory usage of an application launching daemon; and terminating the application launching daemon if the memory usage of the application launching daemon exceeds a third predetermined threshold and no user activity is detected for a predetermined period of time. 7 . The non-transitory machine-readable medium of claim 1 , wherein the method further comprises: examining a flag stored at a predetermined storage location that has been configured in the data processing system; and notifying the user regarding the user space reboot or the system level reboot in response to determining that the flag has been set to a predetermined value. 8 . The non-transitory machine-readable medium of claim 1 , wherein the user level reboot is performed if the first memory usage of all the programs in the first group exceeds the first predetermined threshold, even if an individual memory usage of each of the programs in the first group is below a third predetermined threshold associated with each program. 9 . The non-transitory machine-readable medium of claim 1 , wherein the system level reboot is performed if the second memory usage of all the programs in the second group exceeds the second predetermined threshold, even if an individual memory usage of each of the programs in the second group is below a third predetermined threshold associated with each program. 10 . A computer-implemented method for memory management, comprising: monitoring, by a memory usage monitor executed by a processor of a data processing system, memory usages of a plurality of groups of a plurality of programs running within a memory of the data processing system; in response to determining that a first memory usage of a first group of the programs exceeds a first predetermined threshold, performing a user level reboot in which one or more applications running within a user space of an operating system of the data processing system are terminated and relaunched; and in response to determining that a second memory usage of a second group of the programs exceeds a second predetermined threshold, performing a system level reboot in which one or more system components running within a kernel space of the operating system are terminated and relaunched. 11 . The method of claim 10 , further comprising: prior to performing a user level reboot or a system level reboot, generating a report having information describing overall memory usage of the programs; and transmitting the report to a predetermined destination for a diagnosis purpose. 12 . The method of claim 10 , further comprising: after the user level reboot, examining a kernel memory usage of the one or more system components to determine whether the kernel memory usage exceeds a third predetermined threshold; and performing the system level reboot in response to determining that the kernel memory usage exceeding the third predetermined threshold after the user space reboot. 13 . The method of claim 10 , wherein each of the programs is one of an application, a daemon process, and a kernel component of the operating system. 14 . The method of claim 10 , wherein the method further comprises monitoring user activities of a user operating the data processing system, wherein the user space reboot or the system level reboot is performed only when no user activity with the data processing system is detected for a predetermined period of time. 15 . The method of claim 10 , further comprising: monitoring user activities of a user operating the data processing system; monitoring a memory usage of an application launching daemon; and terminating the application launching daemon if the memory usage of the application launching daemon exceeds a third predetermined threshold and no user activity is detected for a predetermined period of time. 16 . The method of claim 10 , further comprising: examining a flag stored at a predetermined storage location that has been configured in the data processing system; and notifying the user regarding the user space reboot or the system level reboot in response to determining that the flag has been set to a predetermined value. 17 . The method of claim 10 , wherein the user level reboot is performed if the first memory usage of all the programs in the first group exceeds the first predetermined threshold, even if an individual memory usage of each of the programs in the first group is below a third predetermined threshold associated with each program. 18 . The method of claim 10 , wherein the system level reboot is performed if the second memory usage of all the programs in the second group exceeds the second predetermined threshold, even if an individual memory usage of each of the programs in the second group is below a third predetermined threshold associated with each program. 19 . A non-transitory machine-readable medium having instructions stored therein, which when executed by a processor, cause the processor to perform a method for memory management, the

Assignees

Inventors

Classifications

  • Bootstrapping (security arrangements therefor G06F21/57) · CPC title

  • Shutdown · CPC title

  • Restarting or rejuvenating · CPC title

  • the resource being the memory · CPC title

  • where the computing system component is a memory, e.g. virtual memory, cache (accessing, addressing or allocating within memory systems or architectures G06F12/00; checking stores for correct operation G11C29/00) · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US2016357572A1 cover?
Techniques for memory management of a data processing system are described herein. According to one embodiment, a memory usage monitor executed by a processor of a data processing system monitors memory usages of groups of programs running within a memory of the data processing system. In response to determining that a first memory usage of a first group of the programs exceeds a first predeter…
Who is the assignee on this patent?
Apple Inc
What technology area does this patent fall under?
Primary CPC classification G06F9/4406. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu Dec 08 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).