NAME
Memory::Process - Perl class to determine actual memory usage.
SYNOPSIS
use Memory::Process;my $m = Memory::Process->new(%params);$m->dump;$m->record($message, $pid);my @report = $m->report;my $report = $m->report;$m->reset;$m->state;
METHODS
"new"
my $m = Memory::Process->new(%params);
Constructor.
Returns instance of object.
"dump"
$m->dump;
Print report to STDERR.
Returns return value of print().
"record"
$m->record($message, $pid);
Set record. If message not set, use ''.
Returns undef.
"report"
my @report = $m->report;my $report = $m->report;
Get report.
In scalar context returns string with report. In array context returns array of report lines. First line is title.
"reset"
$m->reset;
Reset records.
Returns undef.
"state"
$m->state;
Get internal state.
Each state item consists from:
- timestamp (in seconds since epoch)- message (from record())- virtual memory size (in kB)- resident set size (in kB)- shared memory size (in kB)- text size (in kB)- data and stack size (in kB)
Returns reference to array with state items.
EXAMPLE1
use strict;use warnings;use Memory::Process;# Object.my $m = Memory::Process->new;# Example process.$m->record("Before my big method");my $var = ('foo' x 100);sleep 1;$m->record("After my big method");sleep 1;$m->record("End");# Print report.print $m->report."\n";# Output like:# time vsz ( diff) rss ( diff) shared ( diff) code ( diff) data ( diff)# 1 19120 ( 0) 2464 ( 0) 1824 ( 0) 8 ( 0) 1056 ( 0) After my big method# 2 19120 ( 0) 2464 ( 0) 1824 ( 0) 8 ( 0) 1056 ( 0) End
EXAMPLE2
use strict;use warnings;use Data::Printer;use Memory::Process;# Object.my $m = Memory::Process->new;# Example process.$m->record("Before my big method");my $var = ('foo' x 100);sleep 1;$m->record("After my big method");sleep 1;$m->record("End");# Print report.my $state_ar = $m->state;# Dump out.p $state_ar;# Output like:# \ [# [0] [# [0] 1445941214,# [1] "Before my big method",# [2] 33712,# [3] 7956,# [4] 3876,# [5] 8,# [6] 4564# ],# [1] [# [0] 1445941215,# [1] "After my big method",# [2] 33712,# [3] 7956,# [4] 3876,# [5] 8,# [6] 4564# ],# [2] [# [0] 1445941216,# [1] "End",# [2] 33712,# [3] 7956,# [4] 3876,# [5] 8,# [6] 4564# ]# ]
DEPENDENCIES
Memory::Usage, Readonly.
SEE ALSO
- Memory::Stats
-
Memory Usage Consumption of your process
- Memory::Usage
-
Tools to determine actual memory usage
REPOSITORY
<https://github.com/michal-josef-spacek/Memory-Process>
AUTHOR
Michal Josef Špaček <mailto:[email protected]>
<http://skim.cz/>
LICENSE AND COPYRIGHT
© 2014-2023 Michal Josef Špaček
BSD 2-Clause License
VERSION
0.06