[英]How to determine the maximum memory a program uses?
我將編寫一個Perl程序,該程序將相應地對大約100MB內存的少量數據使用初步的基准測試。 我想更准確地了解已使用的內存量。
如何確定Perl腳本使用的內存量?
應該有一些類似的命令(它的名稱printmaxmemoryuse
由我組成):
printmaxmemoryuse perl myscript.pl
我們在FreeBSD上。
在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
另外,您可以將top
與cmdwatch一起使用,例如:
cmdwatch -n1 'top -d 1 | grep 847'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.