Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"
 
PerlMonks  

Re: Determining the Memory Usage of a Perl program from within Perl

by Anonymous Monk
on Feb 15, 2001 at 23:02 UTC ( #58685=note: print w/ replies, xml ) Need Help??


in reply to Determining the Memory Usage of a Perl program from within Perl

Looking at the linux example, here is a short snippet for getting shared, resident, and size on systems with /proc.

sub get_statm_info { $error = ''; my $ref = {}; if( ! open(_INFO,"</proc/$_[0]/statm") ){ $error = "Couldn't open /proc/$_[0]/statm [$!]"; return $ref; } my @info = split(/\s+/,<_INFO>); close(_INFO); ### these are all the props (skip some) # size resident shared trs lrs drs dt ### ### get the important ones $ref = {size => $info[0] * 4, resident => $info[1] * 4, shared => $info[2] * 4}; return $ref; }
The values are in kb. If you don't care about shared, than the stat file is better:
sub get_stat_info { $error = ''; my $ref = {}; ### open and read the main stat file if( ! open(_INFO,"</proc/$_[0]/stat") ){ $error = "Couldn't open /proc/$_[0]/stat [$!]"; return $ref; } my @info = split(/\s+/,<_INFO>); close(_INFO); ### these are all the props (skip some) # pid(0) comm(1) state ppid pgrp session tty # tpgid(7) flags minflt cminflt majflt cmajflt # utime(13) stime cutime cstime counter # priority(18) timeout itrealvalue starttime vsize rss # rlim(24) startcode endcode startstack kstkesp kstkeip # signal(30) blocked sigignore sigcatch wchan ### ### get the important ones $ref = {utime => $info[13] / 100, stime => $info[14] / 100, cutime => $info[15] / 100, cstime => $info[16] / 100, vsize => $info[22], rss => $info[23] * 4}; return $ref; }


Comment on Re: Determining the Memory Usage of a Perl program from within Perl
Select or Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://58685]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others scrutinizing the Monastery: (15)
As of 2015-07-02 19:22 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (44 votes), past polls