AWSやAzureに移行したい。
そんな時、インスタンスのスペックを決定する必要がある。
インスタンスのスペックを決定するには、
- メモリサイズ
- CPU数
- ストレージサイズ
の3つがわかればよい。
以下のようなスクリプトを使えば、実行しているプロセスに関するps
コマンドの出力を経時的に取得することができます。
例えば、script.RというRスクリプトを実行している場合、以下のように使用します。
check_process.sh script.R script_log.txt
output.log
には、以下のようにプロセスを監視した結果が経時的に出力されます。
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND kimoton 24602 98.5 2.2 590520 381136 pts/3 R 15:11 0:07 /usr/lib/R/bin/exec /R --slave --no-restore --file=test_seurat.R kimoton 24602 98.7 4.7 970548 781588 pts/3 R 15:11 0:17 /usr/lib/R/bin/exec /R --slave --no-restore --file=test_seurat.R kimoton 24602 99.2 6.2 1216564 1030212 pts/3 R 15:11 0:27 /usr/lib/R/bin/exec /R --slave --no-restore --file=test_seurat.R
スクリプトの実行が終わったら、出力されたファイルを見てみましょう。 この結果中の最大値から、
- メモリサイズ
- CPU数
を決定しましょう。
ストレージの容量については、入力ファイル、出力ファイルのサイズから、検討すればよいかと。