Perl脚本如何知道自己的内存占用情况?

我有一个长期运行的Perl脚本,我想让它知道(并报告)它使用多less内存。 我希望在Linux和Windows上都有这些信息,如果可能的话,也在Mac OS X上。

这些Perl模块可以帮助您:

  • Windows: Win32 :: Process :: Memory
  • Linux(也许是Mac OSX): Linux :: Smaps

这将告诉你如何:

http://perldoc.perl.org/Devel/Peek.html

另外, http://perldoc.perl.org/perlguts.html

以及perldebug和perldebguts的手册页。

这是一个快速和肮脏,最重要的所有CPAN免费的方法。 它适用于任何提供/ proc文件系统的操作系统,即Linux和Unix派生的操作系统,包括Mac OS X,以及Windows下的Cygwin:

 perl -e 'print qx{ grep VmSize /proc/$$/status };'