我有一个 bash 脚本,可以在运行命令时跟踪内存使用情况。它产生所需的命令,然后用 column1 = "memory in use by program (gigs)" 写入日志,第 2 列是到目前为止已用的时间(以秒为单位)。例如
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