2017-09-14 68 views
0

我打算写一个Perl程序,它将使用相应的初步基准测试有关100MB内存的少量数据。我想更准确地知道使用的内存量。如何确定程序使用的最大内存?

如何确定Perl脚本使用的内存量?

应该有像(它的名字printmaxmemoryuse是由我组成)的一些命令:

printmaxmemoryuse perl myscript.pl 

我们在FreeBSD。

+0

大概就像'/ usr/bin/time -l perl myscript.pl' –

回答

3

FreeBSD中,您可以使用procstat获取有关该过程的详细信息。例如,以获得所述存储器的进程占用:

procstat -r <PID> 

输出示例:

# procstat -r 847 
PID COMM    RESOURCE       VALUE 
847 immortal   user time     00:00:09.842315 
847 immortal   system time     00:00:26.680180 
847 immortal   maximum RSS        9884 KB 
847 immortal   integral shared memory    11960644 KB 
847 immortal   integral unshared data    1685608 KB 
847 immortal   integral unshared stack    573824 KB 
847 immortal   page reclaims      1126497 
847 immortal   page faults        176 
847 immortal   swaps          0 
847 immortal   block reads        57 
847 immortal   block writes       356464 
847 immortal   messages sent       13712 
847 immortal   messages received       2 
847 immortal   signals received      13708 
847 immortal   voluntary context switches   272454 
847 immortal   involuntary context switches   14765 

此外,可以使用topcmdwatch例如:

cmdwatch -n1 'top -d 1 | grep 847' 
相关问题