Ho uno script Perl a esecuzione prolungata e vorrei far sapere (e riportare) la quantità di memoria utilizzata. Mi piacerebbe avere queste informazioni sia su Linux e Windows e, se possibile, su Mac OS X.Come può uno script Perl conoscere il proprio footprint di memoria?
7
A
risposta
6
Questi moduli Perl potrebbero aiutare:
- di Windows: Win32::Process::Memory
- Linux (e forse Mac OSX): Linux::Smaps
5
Questo vi mostrerà come:
http://perldoc.perl.org/Devel/Peek.html
Inoltre, http://perldoc.perl.org/perlguts.html
e, pagine man per perldebug e perldebguts.
1
Questo è un metodo veloce, sporco e soprattutto privo di CPAN. Funziona su qualsiasi sistema operativo che fornisce un file system/proc, che è Linux e Unix derivati, tra cui Mac OS X, e anche sulla Cygwin in ambiente Windows:
perl -e 'print qx{ grep VmSize /proc/$$/status };'
+0
Non funziona su OS X –
Non credo che 'Linux :: Smaps' oppure 'grep VmSize/proc/$$/status' funziona in Mac OS, dal momento che si basa sulla tabella'/proc'. – aixtal