Linuxでアプリケーションを終了した後に最大メモリを測定する方法

Linuxでアプリケーションを終了した後に最大メモリを測定する方法

Linuxで実行されているアプリケーションの最大メモリを測定する方法は?

現在メモリを報告しているため、RSSが利用できないようにこのアプリを一括で実行しています。最後に、アプリケーションで使用されている最大メモリを報告する必要があります。

VmPeakは割り当てられたメモリを報告し、実際のRAMではなくハードディスクから計算するため、ソリューションではありません。

ベストアンサー1

プロセスの最大メモリ使用量を追跡する2つの方法は次のとおりです。

シロップ

私はこのツールを使用していませんが、あなたが探しているツールのようです。知られているシロップ

説明する

Syrupyは、システムリソース使用量のプロファイルを動的に構築するために、1つ以上の実行中のプロセスに対して定期的にメモリとCPUのロードスナップショットを取るPythonスクリプトです。

はい

$ syrupy.py myprog

  PID DATE        TIME     ELAPSED  CPU   MEM    RSS   VSIZE
14634 2008-10-10  20:45:25   00:00  0.0   0.0   2996    6680
14634 2008-10-10  20:45:26   00:01  105   0.2   7804   12592
14634 2008-10-10  20:45:27   00:02  103   0.2   8996   13776
14634 2008-10-10  20:45:28   00:03  103   0.2  10468   15348
14634 2008-10-10  20:45:29   00:04  103   0.3  11412   16396
14634 2008-10-10  20:45:30   00:05  104   0.3  12492   17444

/usr/bin/time -v

はい、皮肉なことに、GNU timeコマンドはプロセスの最大メモリ使用量を提供できます。次のように最大メモリを報告しますMaximum resident set size (kbytes)

はい

$ /usr/bin/time -v ~/projects/prime_numbers/eratosthenes_prime_sieve.pl 10 1000000
...

    Command being timed: "/home/saml/projects/prime_numbers/eratosthenes_prime_sieve.pl 10 1000000"
    User time (seconds): 1.12
    System time (seconds): 0.05
    Percent of CPU this job got: 54%
    Elapsed (wall clock) time (h:mm:ss or m:ss): 0:02.19
    Average shared text size (kbytes): 0
    Average unshared data size (kbytes): 0
    Average stack size (kbytes): 0
    Average total size (kbytes): 0
    Maximum resident set size (kbytes): 79304
    Average resident set size (kbytes): 0
    Major (requiring I/O) page faults: 0
    Minor (reclaiming a frame) page faults: 20014
    Voluntary context switches: 83
    Involuntary context switches: 274
    Swaps: 0
    File system inputs: 0
    File system outputs: 0
    Socket messages sent: 0
    Socket messages received: 0
    Signals delivered: 0
    Page size (bytes): 4096
    Exit status: 0

引用する

おすすめ記事