linux - 在 Linux 中计算磁盘峰值大小

标签 linux bash bioinformatics

我需要根据最大(峰值)磁盘使用率对工具进行基准测试。我们观察到该工具会在磁盘上创建临时文件。 因此,我想弄清楚它在执行期间使用多少峰值磁盘空间(写入的字节数)来存储临时文件。

最佳答案

写入的字节数不一定是磁盘使用的峰值。

有很多方法可以做到这一点。

1) dfdu 会给你当时的磁盘使用情况。如果您每秒执行一次 df,这可能会为您提供足够的信息。这是假设该过程运行的时间足够长以获取多个样本。如果这对您有用,这可能是最简单的方法。

2) 如果您知道使用或创建了哪些目录或文件,您可以通过结合 inotifywait< 来增强以前使用 dfdu 的方式 而不是休眠一个固定的时间间隔:

while inotifywait -q -e modify filename >/dev/null; do
    df >> df-log-file
done

有关更多选项,请参阅 man inotify

3) 如果您在 VirtualBox 中运行该程序,请创建一个动态分配的虚拟磁盘。该 VDI 的实际文件将在需要空间时增长。因此 VDI 的大小应该是起始大小加上临时文件的峰值大小。我不知道结果会有多准确。

应该有更多的方法来做到这一点。

关于linux - 在 Linux 中计算磁盘峰值大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44657445/

相关文章:

bash - 用 Bash 变量替换 sed

sql-server - 如何编写 bash 和 sql 文件来设置 postgres 用户?

python - 汉明距离的倒数

r - 在 R 中分析 SVM (e1071)

linux - 子进程杀死其父进程而不终止自身

c - 防止 getpeername() 返回 127.0.0.1

linux - 如何在 linux 中使用 shell 命令使用上次修改日期和时间压缩文件

linux - 从文件中删除与 shell 脚本中第二个文件的前 2 个字段匹配的行

bioinformatics - samtools mpileup 结果 "^F"是什么意思

linux - 使用 dlopen() 动态加载共享对象