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.
$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
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:skim@cpan.org
LICENSE AND COPYRIGHT
© 2014-2023 Michal Josef Špaček
BSD 2-Clause License
VERSION
0.06