摘要 |
<p>Memory allocator 100 determines allocations using history of allocation requests from previous instances of requesting applications. Requests identified by identifier 110 are analyzed by analyser 120. A learning mode can be selected e.g. when no information is available in history 140 or a learning threshold is not reached. In learning mode logger 160 persistently stores the history of allocation requests comprising initial allocations made for a container and re-allocations of previously allocated containers. History 140 includes a container identification database. Containers are identified as static, e.g. of fixed sizes, and non-static, having sizes growing or shrinking upon re-allocations according to user behavior. By identifying and logging data on containers, memory allocator 100 stores and uses previously stored history 140 to determine adaptively efficient allocation of future instances of an application program requesting identified memory allocation. The invention addresses the issues of fragmentation, exhaustion of free memory, and over allocation.</p> |