Process(3) | User Contributed Perl Documentation | Process(3) |
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
AUTHOR
Michal Josef Špaček <mailto:skim@cpan.org>
LICENSE AND COPYRIGHT
© 2014-2023 Michal Josef Špaček
BSD 2-Clause License
VERSION
0.06
2024-09-01 | perl v5.40.0 |