Process level memory allocation by memory type

US9824005B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-9824005-B1
Application numberUS-201514671362-A
CountryUS
Kind codeB1
Filing dateMar 27, 2015
Priority dateMar 27, 2015
Publication dateNov 21, 2017
Grant dateNov 21, 2017

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.

A leak detection system may be configured to receive a plurality of memory use reports periodically from a user device. The memory use reports may include an indication of memory that may be used and/or allocated by/to a particular process, such as a process that may currently be running on the user device. The memory use report may further provide a relatively granular view of the allocation of memory associated with the process, such as by type of memory and/or category of memory associated with the process. The leak detection system may use the plurality of memory use reports to generate a memory profile associated with the process and particular memory types and/or categories of memory allocation. By analyzing the memory profiles, the leak detection system may be configured to identify a memory leak associated with the process on the user device.

First claim

Opening claim text (preview).

That which is claimed: 1. A user device, comprising: at least one memory that stores computer-executable instructions; and at least one processor that accesses the at least one memory and is operationally coupled to a transceiver, wherein the at least one processor is configured to: determine that a memory use report is to be generated repeatedly with a predetermined period of time; determine a process being executed by the at least one processor; determine a first amount of memory for Dalvik resident set size (Rss) for the process at a first time; determine a second amount of memory for shared virtual set size (Vss) for the process at the first time; generate a first memory use report, the first memory use report indicating the first amount of memory and the second amount of memory; send the first memory use report; identify that the predetermined period of time has elapsed; determine a third amount of memory for the Dalvik Rss for the process at a second time, the second time equal to the predetermined period of time after the first time; determine a fourth amount of memory for the shared Vss for the process at the second time; generate a second memory use report, the second memory use report indicating the third amount of memory and the fourth amount of memory; and send the second memory use report. 2. The user device of claim 1 , wherein the process is a first process, and wherein the at least one processor is further configured to: determine a second process being executed by the at least one processor; determine a fifth amount of memory for the Dalvik resident set size (Rss) for the second process at the first time; determine a sixth amount of memory for the shared virtual set size (Vss) for the second process at the first time; and indicate the fifth amount of memory and the sixth amount of memory in the first memory use report. 3. The user device of claim 1 , wherein the process is a first process, and wherein the at least one processor is further configured to: determine that the first process is no longer being executed by the at least one processor at a third time, the third time after the second time; determine that a second process is being executed by the at least one processor at the third time; determine a fifth amount of memory associated with the second process at the third time; generate a third memory use report that indicates the fifth amount of memory; and send the third memory use report. 4. The user device of claim 1 , wherein the at least one processor is further configured to: receive, from a leak detection system, a request for a memory heap dump, the request indicating the process, wherein the memory heap dump indicates memory used by one or more objects associated with the process, wherein the process is a Java process; generate the memory heap dump associated with the process; and send, to the leak detection system, the memory heap dump. 5. A method, comprising: determining, by a user device comprising one or more processors and at a first time, a first amount of memory of a first memory type associated with a first process being executed by the one or more processors; determining, by the user device at the first time, a second amount of memory of a second memory type associated with the first process; generating, by the user device, a first memory use report indicating the first amount of memory and the second amount of memory; sending the first memory use report; determining that the first process is no longer being executed by the one or more processors at a second time, the second time after the first time; determining that a second process is being executed by the one or more processors at the second time; determining a third amount of memory associated with the second process at the second time; generating a second memory use report that indicates the third amount of memory; and sending the second memory use report. 6. The method of claim 5 , further comprising receiving, by the user device and from a leak detection system, a request for the first memory use report. 7. The method of claim 5 , wherein the method further comprises: determining, by the user device, that a series of memory use reports are to be generated with a period of a predetermined period of time; determining, at a third time, a fourth amount of memory of the first memory type associated with the first process, wherein the third time is the predetermined period of time after the first time; determining, at the third time, a fifth amount of memory of the second memory type associated with the first process; generating a third memory use report, the third memory use report indicating the fourth amount of memory and the fifth amount of memory; and sending the third memory use report. 8. The method of claim 7 , wherein the predetermined period of time is based at least in part on one of a user setting of the predetermined period of time, or a setting of the predetermined period of time provided by a leak detection system. 9. The method of claim 5 , wherein the first memory type is at least one of: virtual machine memory; Dalvik memory; anonymous memory; graphical memory; or data memory. 10. The method of claim 5 , wherein the method further comprises: determining a fourth amount of memory of a third memory type for a third process at the first time; determining a fifth amount of memory of a fourth memory type for the third process at the first time; and indicating the fourth amount of memory and the fifth amount of memory in the first memory use report. 11. The method of claim 5 , further comprising: sending, by the user device and to a leak detection system, a memory heap dump associated with the first process, wherein the memory heap dump associated with the first process indicates memory used by one or more objects associated with the first process. 12. The method of claim 5 , wherein determining the first amount of memory comprises: sending, by the user device and to a memory management unit (MMU), a request for an indication of memory allocation associated with the first process; receiving, from the MMU, an indication of memory allocation associated with the first process; and determining, from the indication of memory allocation, the first amount of memory. 13. A user device, comprising: at least one memory that stores computer-executable instructions; and at least one processor that accesses the at least one memory and operationally coupled to a transceiver, wherein the at least one processor is configured to: determine, at a first time, a first amount of memory of a first memory type associated with a first process being executed by the one or more processors; determine, at the first time, a second amount of memory of a second memory type associated with the first process; generate a first memory use report, the first memory use report indicating the first amount of memory and the second amount of memory; send the first memory use report; determine that the first process is no longer being executed by the at least one processor at a second time, the second time after the first time; determine that a second process is being executed by the at least one processor at the second time; determine a third amount of memory associated with the second process at the second time; generate a second memory use report that indicates the third amount of memory; and send the second memory use report. 14. The user device of claim 13 , wherein the at least one processor is further configured to: determine that a series of memory use reports are to be gene

Assignees

Inventors

Classifications

  • Dumping, i.e. gathering error/state information after a fault for later diagnosis · CPC title

  • G06F12/023Primary

    Free address space management · CPC title

  • Space efficiency improvement · CPC title

  • Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation {; Recording or statistical evaluation of user activity, e.g. usability assessment} · 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 US9824005B1 cover?
A leak detection system may be configured to receive a plurality of memory use reports periodically from a user device. The memory use reports may include an indication of memory that may be used and/or allocated by/to a particular process, such as a process that may currently be running on the user device. The memory use report may further provide a relatively granular view of the allocation o…
Who is the assignee on this patent?
Amazon Tech Inc
What technology area does this patent fall under?
Primary CPC classification G06F11/0778. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Nov 21 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 6 related publications on this page (citations in our corpus or others sharing the same primary CPC).