Memory tracking tool
First Claim
1. One or more computer-readable media having computer-useable instructions embodied thereon for performing a method of evaluating memory usage of an application comprising a plurality of modules to be run on a computing device, said method comprising:
- tracking function calls related to memory manipulations of said application; and
analyzing said tracked memory manipulations.
2 Assignments
0 Petitions
Accused Products
Abstract
A method, medium, and computer-program product is provided for tracking memory-usage characteristics of an application. The invention includes a suite of tools to evaluate memory usage of uninstrumented binaries by tracking memory allocations, de-allocations, and in-memory-presence attributes at the module level. Memory-manipulation function calls (not limited to allocations and deallocations) are hijacked to code segments that annotate and log then-current memory characteristics. Processing is reverted back to its from-hijacked position and allowed to continue. In-memory presence of allocated memory and labels for certain points at time are tracked as well. The tracked data is logged so that algorithms can be run to extract desired information, which can be presented in various reports.
34 Citations
49 Claims
-
1. One or more computer-readable media having computer-useable instructions embodied thereon for performing a method of evaluating memory usage of an application comprising a plurality of modules to be run on a computing device, said method comprising:
-
tracking function calls related to memory manipulations of said application; and
analyzing said tracked memory manipulations. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A system for enhancing the performance of a software application to run on a computing device containing physical memory, said method comprising:
-
means for evaluating how said application uses said physical memory; and
means for minimizing an amount of physical memory needed to execute said application. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26, 27)
-
-
28. One or more computer-readable media having computer-useable instructions embodied thereon for performing a method of evaluating memory usage of an application, which may include a plurality of modules, to run on a computing device, said method comprising:
-
tracking memory operations of said application;
logging memory-manipulation data from said tracking process;
analyzing said memory-manipulation data, wherein analysis results can be provided; and
reporting results from analyzing said memory-manipulation data. - View Dependent Claims (29, 30, 31, 32, 33, 34, 35, 36, 37, 38)
-
-
39. A method for observing memory usage of a first computer-program product having a plurality of memory-manipulation function (MMF) calls, said method comprising:
-
rerouting one or more of said MMF calls from an entry point of a respective MMF to a second computer-program product;
logging information about a call stack associated with said memory in a log, wherein logging said information comprises analyzing a call stack associate with said memory;
returning said rerouted MMF call(s) to said entry point of said respective function;
recording page-in and page-out operations and including labels associated with execution points of the first computer-program product; and
analyzing said log by exposing the data within said log to one or more analysis algorithms. - View Dependent Claims (40, 41, 42, 43)
-
-
44. A memory-tracking application that evaluates memory usage of a target application that may include a plurality of modules, said memory-tracking application comprising:
-
a tracking component that enables said target application to have its memory usage tracked;
a controlling component that creates log of said memory usage;
an execution component that communicates with said tracking component and said controlling component to direct an examination of memory-usage characteristics of said target application; and
a parsing component that parses said log to create memory-usage reports. - View Dependent Claims (45, 46, 47, 48, 49)
-
Specification