2017-09-14 97 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' 
相關問題