System and method for memory leak detection in a virtual machine environment
First Claim
1. A method for detecting potential memory leaks in a run-time environment, the run-time environment including a virtual machine and a memory for storing objects, the method comprising the steps of:
- accepting as input from a system developer a value for a limiting time;
determining, for each of a plurality of objects in memory, a length of time since that object has persisted in memory without being accessed or referenced, andif the object has persisted in memory without being accessed or referenced in memory greater than the limiting time, then identifying the object as one of a first object type,if the object has persisted in memory without being accessed or referenced in memory for less than the limiting time, then identifying the object as one of a second object type; and
determining links from any object of the first object type to any object of the second object type, and displaying the links for use by the system developer in detecting potential memory leaks.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method for detecting memory leaks in a garbage collected environment. In particular, the present invention provides a mechanism by which objects in the memory space of a virtual machine are analyzed as to whether they are warm or cold, i.e., how long they have persisted in memory without being accessed or referenced by another object. Following this analysis, the objects are clustered into groups of warm or cold objects, and any links from warm clusters to cold clusters are determined. This information is then provided to the software developer for use in detecting and analyzing potential memory leaks.
188 Citations
24 Claims
-
1. A method for detecting potential memory leaks in a run-time environment, the run-time environment including a virtual machine and a memory for storing objects, the method comprising the steps of:
-
accepting as input from a system developer a value for a limiting time; determining, for each of a plurality of objects in memory, a length of time since that object has persisted in memory without being accessed or referenced, and if the object has persisted in memory without being accessed or referenced in memory greater than the limiting time, then identifying the object as one of a first object type, if the object has persisted in memory without being accessed or referenced in memory for less than the limiting time, then identifying the object as one of a second object type; and determining links from any object of the first object type to any object of the second object type, and displaying the links for use by the system developer in detecting potential memory leaks. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system for detecting potential memory leaks in a run-time environment, the system comprising:
-
a virtual machine executing within the run-time environment; a memory within the run-time environment for storing objects, for use by a software application; and an analyzer that accepts as input from a system developer a value for a limiting time; wherein the analyzer determines, for each of a plurality of objects in memory, a length of time since that object has persisted in memory without being accessed or referenced, and if the object has persisted in memory without being accessed or referenced in memory greater than the limiting time, then the object is identified as one of a first object type, if the object has persisted in memory without being accessed or referenced in memory for less than the limiting time, then the object is identified as one of a second object type; and wherein the analyzer determines links from any object of the first object type to any object of the second object type, and the links are displayed for use by the system developer in detecting potential memory leaks. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A computer readable medium, including instructions stored thereon, which when executed by a computer cause the computer to perform steps for method for detecting potential memory leaks in a run-time environment, said run-time environment including a virtual machine and a memory for storing objects, the steps comprising:
-
accepting as input from a system developer a value for a limiting time; determining, for each of a plurality of objects in memory, a length of time since that object has persisted in memory without being accessed or referenced, and if the object has persisted in memory without being accessed or referenced in memory greater than the limiting time, then identifying the object as one of a first object type, if the object has persisted in memory without being accessed or referenced in memory for less than the limiting time, then identifying the object as one of a second object type; and determining links from any object of the first object type to any object of the second object type, and displaying the links for use by the system developer in detecting potential memory leaks. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24)
-
Specification