0

私は計算ノードにログインできず、対話型セッションの可能性がない Cray XE6 マシンでこれを行っています。したがって、どうにかして top コマンドを使用する必要があります。ログファイルに送信します...誰かがこれを行う方法の例を作ることができますか?

ありがとう

4

1 に答える 1

1

リソースモジュールを使用して、現在のメモリ使用量を照会します。次に、MPI プログラムのどこかで、一定の間隔で使用状況をログに記録します。

たとえば、次の例では、現在のプロセスの最大常駐メモリ サイズを測定し、その値をファイルに追加します。おそらく行うことは、シミュレーションの各タイムステップのどこかにスニペットを挿入することです。

import datetime
import resource
import os
from mpi4py import MPI

mem = resource.getrusage(resource.RUSAGE_SELF).ru_maxrss
rank = MPI.COMM_WORLD.Get_rank()
fname = 'r{}.log'.format(rank)
with open(fname, 'a') as f:
    # Dump timestamp, PID and amount of RAM.
    f.write('{} {} {}\n'.format(datetime.datetime.now(), os.getpid(), mem))

実行中の MPI プロセスのランクを使用して、ファイルの名前に注意してください (@Hristo の推奨に従って)。

于 2015-06-10T16:49:32.830 に答える