Memory::Process - Perl class to determine actual memory usage.
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;
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.
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.
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
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 # ] # ]
Memory::Usage, Readonly.
Memory Usage Consumption of your process
Tools to determine actual memory usage
https://github.com/michal-josef-spacek/Memory-Process
Michal Josef Špaček mailto:skim@cpan.org
http://skim.cz/
© 2014-2023 Michal Josef Špaček
BSD 2-Clause License
0.06
To install Memory::Process, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Memory::Process
CPAN shell
perl -MCPAN -e shell install Memory::Process
For more information on module installation, please visit the detailed CPAN module installation guide.