Memory::Usage(3)

NAME
Memory::Usage - Tools to determine actual memory usage

VERSION
Version 0.201

SYNOPSIS
    use Memory::Usage;
    my $mu = Memory::Usage->new();

    # Record amount of memory used by current process
    $mu->record('starting work');

    # Do the thing you want to measure
    $object->something_memory_intensive();

    # Record amount in use afterwards
    $mu->record('after something_memory_intensive()');

    # Spit out a report
    $mu->dump();

DESCRIPTION
This module lets you attempt to measure, from your operating system's perspective, how much memory a process is using at any given time.

METHODS

  Class Methods

new ( )
    Creates a new Memory::Usage object. This object will contain usage state as recorded along the way.

  Instance Methods

record ( $message [, $pid ])
    Record the memory usage at call time, logging it internally with the provided message. Optionally takes a process ID to record memory usage for, defaulting to the current process.

report ( )
    Generates report on memory usage.

dump ( )
    Prints report on memory usage to stderr.

state ( )
    Return arrayref of internal state. Returned arrayref contains zero or more references to arrays with the following columns (in order). All sizes are in kilobytes.

    timestamp (in seconds since epoch)
    message (as passed to ->record())
    virtual memory size
    resident set size
    shared memory size
    text (aka code or exe) size
    data and stack size

AUTHOR
Dave O'Neill, "<dmo at dmo.ca>"

BUGS
Please report any bugs or feature requests to "bug-memory-usage at rt.cpan.org", or through the web interface at <http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Memory-Usage>. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT
You can find documentation for this module with the perldoc command.

    perldoc Memory::Usage

You can also look for information at:

•   RT: CPAN's request tracker

    <http://rt.cpan.org/NoAuth/Bugs.html?Dist=Memory-Usage>

•   Search CPAN

    <http://search.cpan.org/dist/Memory-Usage/>

SEE ALSO

•   Memchmark

    Iteratively run coderefs (similar to Benchmark) and compare their memory usage. Useful for optimizing specific subroutines with large memory usage once you've identified them as memory hogs. Uses same technique for gathering usage information as this module, so accuracy and precision suffer similarly.

•   Devel::Size

    Show the size of Perl variables. Also useful for microoptimzations when you know what you're looking for. Looks at Perl internals, so accuracy is good.

LICENSE AND COPYRIGHT
Copyright 2010 Dave O'Neill.

This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.

See http://dev.perl.org/licenses/ for more information.