簡體   English   中英

如何確定程序使用的最大內存?

[英]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

另外,您可以將topcmdwatch一起使用,例如:

cmdwatch -n1 'top -d 1 | grep 847'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM