コマンドの実行時にメモリ使用量を経時的に追跡する bash スクリプトがあります。目的のコマンドを生成し、column1 = "memory in use by program (gigs)" でログを書き込みます。column2 は、これまでの経過時間 (秒単位) です。例えば
31.282 1470
31.565 1480
31.848 1490
31.989 1500
32.273 1510
32.414 1520
32.697 1530
32.980 1540
33.122 1550
33.405 1560
6.511 1570
6.935 1580
7.502 1590
7.926 1600
8.351 1610
8.775 1620
9.059 1630
9.483 1640
9.908 1650
10.333 1660
私がやりたいことは、プロセスが完了するまで待ってから、R を使用して経時的なメモリ使用量のグラフをプロットし、それを現在のディレクトリに保存することです。私はRで遊んでいましたが、使用する必要があるコマンドを正確に知っています:
> heisenberg <- read.csv(file="4644.log",head=FALSE,sep=" ")
> plot(heisenberg$V2,heisenberg$V1,type="o",col="red",main="Memory Usage Over Time",xlab="Time (seconds)",ylab="Memory (gigabytes)")
> text(max(heisenberg$V2),max(heisenberg$V1),max(heisenberg$V1)) #Displays max value
しかし、私が立ち往生している部分は、グラフをjpgまたはpngとして保存することです。または、bash スクリプト内でこのコマンドを実行する方法。R 言語で別のスクリプトを作成して実行する必要はありますか? これはオールインワンで可能でしょうか?
編集
これが私のscript.rのコードですpng("mem_usage_2965.png",height=800,width=800)
heisenberg <- read.csv(file="2965.log",head=FALSE,sep=" ")
plot(heisenberg$V2,heisenberg$V1,type="o",col="red",main="oases_k85",xlab="Time (seconds)",ylab="Memory (gigabytes)")
text(max(heisenberg),max(heisenberg),max(heisenberg))
dev.off()
出力されたpngでテキストが最大値を出力しない理由について誰か助けてもらえますか? 次のようなbashスクリプトで呼び出していますR CMD BATCH script.r script.out