IP Library › Granted Patent US 7,500,077
Granted Patent B2
US 7,500,077 · App. 11/164,899 · Granted Mar 3, 2009

Use of region-oriented memory profiling to detect heap fragmentation and sparse memory utilization

Assignee: International Business Machines Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,500,077
App. No.
11/164,899
Granted
Mar 3, 2009
Kind
B2
Abstract

A method of detecting inefficient use of virtual memory by an application that is programmed using memory pointers. The method can include selecting a first heap from a list of tracked heaps and identifying allocated memory blocks within the first heap. A first total can be determined as a sum of sizes of the identified memory blocks. A second total can be determined as a sum of unallocated, NULL-filled bytes within the first heap that are not located outside outermost memory block addresses in each range of committed memory in the first heap. A ratio of the first total and the second total can be determined, and a memory profile corresponding to the ratio can be generated. A memory profile suggestion also can be generated.

Claims (17)

1. A method of detecting inefficient use of virtual memory by an application that is programmed using memory pointers, said method comprising:

selecting a first heap from a list of tracked heaps;

identifying allocated memory blocks within the first heap;

determining a first total as a sum of sizes of the identified, allocated memory blocks;

determining a second total as a sum of unallocated, NULL-filled bytes within the first heap that are not located outside outermost memory block addresses in each range of committed memory in the first heap;

determining a ratio of the first total and the second total;

generating a memory profile corresponding to the ratio comprising assigning each of the identified, allocated memory blocks to a size category and determining, for at least one selected size category, a number of the identified, allocated memory blocks of the selected size category that are located next to at least one other identified, allocated memory block that is assigned to a size category other than the selected size category; and

generating at least one memory profile suggestion based upon the determined ratio comprising suggesting that the memory blocks defined in at least one of the size categories be allocated from an additional heap dedicated to blocks of a particular size category.

2. The method of claim 1 , further comprising comparing the determined number of memory blocks to a threshold value.

3. A machine readable storage, having stored thereon a computer program having a plurality of code sections comprising:

code for selecting a first heap from a list of tracked heaps;

code for identifying allocated memory blocks within the first heap;

code for determining a first total as a sum of sizes of the identified; memory blocks;

code for determining a second total as a sum of unallocated, NULL-filled bytes within the first heap that are not located outside outermost memory block addresses in each range of committed memory in the first heap;

code for determining a ratio of the first total and the second total;

code for generating a memory profile corresponding to the ratio comprising code for assigning each of the identified, allocated memory blocks to a size category and code for determining, for at least one selected size category, a number of the identified, allocated memory blocks of the selected size category that are located next to at least one other identified, allocated memory block that is assigned to a size category other than the selected size category; and

code for generating at least one memory profile suggestion based upon the determined ratio comprising code for suggesting that the memory blocks defined in at least one of the size categories be allocated from an additional heap dedicated to blocks of a particular size category.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2005
From: KRAUSS, KIRK J.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 016876/0378 →
Continuity (1)
Related Publication 20070136546A1 · Jun 14, 2007