Claims
- 1. A system for determining potential memory leaks in a run-time environment, said run-time environment including a virtual machine and a memory space for storing objects, comprising:
an object temperature analyzer that determines the status of warm objects and cold objects in said memory, and the links between said warm and cold objects; and, a report mechanism that reports information about said links, for use in determining potential memory leaks.
- 2. The system of claim 1 further comprising:
an object clusterer for clustering groups of warm objects to form warm clusters, and groups of cold objects to form cold clusters.
- 3. The system of claim 1 wherein the links includes any or both of warm object—cold object links and warm cluster—cold cluster links.
- 4. The system of claim 1 wherein the objects are used by the virtual machine.
- 5. The system of claim 1 wherein the links can be displayed on a computer screen device.
- 6. The system of claim 1 wherein the limiting time determining whether an object is warm or cold can be adjusted by the developer to better distinguish between warm and cold objects or warm and cold clusters.
- 7. The system of claim 1 wherein the objects are not moved in memory when clustered.
- 8. A system for determining potential memory leaks in a run-time environment, said run-time environment including a virtual machine and a memory space for storing objects, comprising:
means for determining the status of warm objects and cold objects in said memory, and the links between said warm and cold objects; and, means for reporting information about said links, for use in determining potential memory leaks.
- 9. The system of claim 8 further comprising:
means for clustering groups of warm objects to form warm clusters, and groups of cold objects to form cold clusters.
- 10. The system of claim 8 wherein the links includes any or both of warm object—cold object links and warm cluster—cold cluster links.
- 11. The system of claim 8 wherein the objects are used by the virtual machine.
- 12. The system of claim 8 wherein the links can be displayed on a computer screen device.
- 13. The system of claim 8 wherein the limiting time determining whether an object is warm or cold can be adjusted by the developer to better distinguish between warm and cold objects or warm and cold clusters.
- 14. The system of claim 8 wherein the objects are not moved in memory when clustered.
- 15. A method for determining potential memory leaks in a run-time environment, said run-time environment including a virtual machine and a memory space for storing objects, comprising the steps of:
determining the status of warm objects and cold objects in said memory, and the links between said warm and cold objects; and, reporting information about said links, for use in determining potential memory leaks.
- 16. The method of claim 15 further comprising the step of:
clustering groups of warm objects to form warm clusters, and groups of cold objects to form cold clusters.
- 17. The method of claim 15 wherein the links includes any or both of warm object—cold object links and warm cluster—cold cluster links.
- 18. The method of claim 15 wherein the objects are used by the virtual machine.
- 19. The method of claim 15 wherein the links can be displayed on a computer screen device.
- 20. The method of claim 15 wherein the limiting time determining whether an object is warm or cold can be adjusted by the developer to better distinguish between warm and cold objects or warm and cold clusters.
- 21. The method of claim 15 wherein the objects are not moved in memory when clustered.
- 22. A system for detecting memory leaks in an application server or run-time environment comprising:
a virtual machine executing within said run-time environment; a memory space within said run-time environment for storing objects in memory, for use by a software application; and, a temperature analyzer that determines the location of warm objects and cold objects in memory, and the links between said warm and cold objects, for use in detecting memory leaks.
- 23. The system of claim 22 further comprising:
an object clusterer for clustering groups of warm objects to form warm clusters, and groups of cold objects to form cold clusters.
- 24. The system of claim 22 wherein the links includes any or both of warm object—cold object links and warm cluster—cold cluster links.
- 25. The system of claim 22 wherein the objects are used by the virtual machine.
- 26. The system of claim 22 wherein the links can be displayed on a computer screen device.
- 27. The system of claim 22 wherein the limiting time determining whether an object is warm or cold can be adjusted by the developer to better distinguish between warm and cold objects or warm and cold clusters.
- 28. The system of claim 22 wherein the objects are not moved in memory when clustered.
- 29. A system for detecting memory leaks in an application server or run-time environment comprising:
means for providing a virtual machine executing within said run-time environment; means for storing objects in a memory, said objects for use by a software application; and, means for determining the location of warm objects and cold objects stored in memory, and the links between said warm and cold objects, for use in detecting memory leaks.
- 30. The system of claim 29 further comprising:
means for clustering groups of warm objects to form warm clusters, and groups of cold objects to form cold clusters.
- 31. The system of claim 29 wherein the links includes any or both of warm object—cold object links and warm cluster—cold cluster links.
- 32. The system of claim 29 wherein the objects are used by the virtual machine.
- 33. The system of claim 29 wherein the links can be displayed on a computer screen device.
- 34. The system of claim 29 wherein the limiting time determining whether an object is warm or cold can be adjusted by the developer to better distinguish between warm and cold objects or warm and cold clusters.
- 35. The system of claim 29 wherein the objects are not moved in memory when clustered.
- 36. A method for detecting memory leaks in an application server or run-time environment, comprising the steps of:
providing a virtual machine executing within said run-time environment; storing objects in memory, for use by a software application; and, determining the location of warm objects and cold objects stored in memory, and the links between said warm and cold objects, for use in detecting memory leaks.
- 37. The method of claim 36 further comprising the step of:
clustering groups of warm objects to form warm clusters, and groups of cold objects to form cold clusters.
- 38. The method of claim 36 wherein the links includes any or both of warm object—cold object links and warm cluster—cold cluster links.
- 39. The method of claim 36 wherein the objects are used by the virtual machine.
- 40. The method of claim 36 wherein the links can be displayed on a computer screen device.
- 41. The method of claim 36 wherein the limiting time determining whether an object is warm or cold can be adjusted by the developer to better distinguish between warm and cold objects or warm and cold clusters.
- 42. The method of claim 36 wherein the objects are not moved in memory when clustered.
- 43. A system for providing potential memory leak information in a run-time environment, comprising:
an object temperature analyzer that determines the last access time of an object in memory; an object clusterer that clusters together objects according to last access time; an object map that identifies links between objects that have been recently accessed, and other objects that have not been recently accessed, to assist in determining potential memory leaks.
- 44. The system of claim 43 wherein the links includes any or both of warm object—cold object links and warm cluster—cold cluster links.
- 45. The system of claim 43 wherein the objects are used by the virtual machine.
- 46. The system of claim 43 wherein the links can be displayed on a computer screen device.
- 47. The system of claim 43 wherein the limiting time determining whether an object is warm or cold can be adjusted by the developer to better distinguish between warm and cold objects or warm and cold clusters.
- 48. The system of claim 43 wherein the objects are not moved in memory when clustered.
- 49. A system for providing potential memory leak information in a run-time environment, comprising:
means for determining the last access time of an object in memory; means for clustering the objects according to last access time; and, means for identifying links between recently accessed objects and not-recently accessed objects to assist in determining potential memory leaks.
- 50. The system of claim 49 wherein the links includes any or both of warm object—cold object links and warm cluster—cold cluster links.
- 51. The system of claim 49 wherein the objects are used by the virtual machine.
- 52. The system of claim 49 wherein the links can be displayed on a computer screen device.
- 53. The system of claim 49 wherein the limiting time determining whether an object is warm or cold can be adjusted by the developer to better distinguish between warm and cold objects or warm and cold clusters.
- 54. The system of claim 49 wherein the objects are not moved in memory when clustered.
- 55. A method for providing potential memory leak information in a run-time environment, comprising the steps of:
determining the last access time of an object in memory; clustering the objects according to last access time; and, identifying links between recently accessed objects and not-recently accessed objects to assist in determining potential memory leaks.
- 56. The method of claim 55 wherein the links includes any or both of warm object—cold object links and warm cluster—cold cluster links.
- 57. The method of claim 55 wherein the objects are used by the virtual machine.
- 58. The method of claim 55 wherein the links can be displayed on a computer screen device.
- 59. The method of claim 55 wherein the limiting time determining whether an object is warm or cold can be adjusted by the developer to better distinguish between warm and cold objects or warm and cold clusters.
- 60. The method of claim 55 wherein the objects are not moved in memory when clustered.
- 61. A system for use in determining potential memory leaks in a run-time environment, said run-time environment including a virtual machine and a memory space for storing objects, comprising:
objects located in the memory of a run-time environment, wherein each object includes a time stamp field and a time stamp therein, and wherein the time stamp is updated with a current system time when the object is accessed or referenced; an object temperature analyzer that, after a time Tcheck, marks each object as being either warm or cold; an object clusterer that clusters warm objects together as warm clusters and cold objects together as cold clusters; and, a display device that displays an object map including links between warm clusters and cold clusters.
- 62. The system of claim 61 wherein the links includes any or both of warm object—cold object links and warm cluster—cold cluster links.
- 63. The system of claim 61 wherein the objects are used by the virtual machine.
- 64. The system of claim 61 wherein the limiting time determining whether an object is warm or cold can be adjusted by the developer to better distinguish between warm and cold objects or warm and cold clusters.
- 65. The system of claim 61 wherein the objects are not moved in memory when clustered.
- 66. A system for use in determining potential memory leaks in a run-time environment, said run-time environment including a virtual machine and a memory space for storing objects, comprising:
means for creating objects in the memory of a run-time environment; means stamping each object with a time stamp when created; means for updating the time stamp as each object is accessed or referenced; means for after a time Tcheck, marking each object as being either warm or cold; means for clustering warm objects together to form warm clusters and cold objects together to form cold clusters; and, means for displaying an object map including links between warm clusters and cold clusters.
- 67. The system of claim 66 wherein the links includes any or both of warm object—cold object links and warm cluster—cold cluster links.
- 68. The system of claim 66 wherein the objects are used by the virtual machine.
- 69. The system of claim 66 wherein the limiting time determining whether an object is warm or cold can be adjusted by the developer to better distinguish between warm and cold objects or warm and cold clusters.
- 70. The system of claim 66 wherein the objects are not moved in memory when clustered.
- 71. A method for use in determining potential memory leaks in a run-time environment, said run-time environment including a virtual machine and a memory space for storing objects, comprising:
creating objects in the memory of a run-time environment; stamping each object with a time stamp when created; updating the time stamp as each object is accessed or referenced; after a time Tcheck marking each object as being either warm or cold; clustering warm objects together to form warm clusters and cold objects together to form cold clusters; and, displaying an object map showing links between warm clusters and cold clusters.
- 72. The method of claim 71 wherein the links includes any or both of warm object—cold object links and warm cluster—cold cluster links.
- 73. The method of claim 71 wherein the objects are used by the virtual machine.
- 74. The method of claim 71 wherein the limiting time determining whether an object is warm or cold can be adjusted by the developer to better distinguish between warm and cold objects or warm and cold clusters.
- 75. The method of claim 71 wherein the objects are not moved in memory when clustered.
CLAIM OF PRIORITY
[0001] This application claims the benefit of U.S. Provisional Application “SYSTEM AND METHOD FOR MEMORY LEAK DETECTION IN A VIRTUAL MACHINE ENVIRONMENT”, Serial No. 60/435,487; filed December 20, 2002, and incorporated herein by reference.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60435487 |
Dec 2002 |
US |