我正在尝试选择一张 SD 卡来为一个应用程序获得最佳的 I/O 性能,该应用程序基本上执行以下操作:
- 写入 4K 30FPS 视频流
- 写入 VGA 视频流
- 写入各种类型(文本、ROS 包等)的多个日志文件
所有这些都是在操作过程中连续且同时进行的。天真地,为了获得最佳性能,人们可能会购买具有良好顺序写入基准的 SD 卡。然而,我有这些疑问:
- 如果有多个文件正在写入,这算作连续写入吗?
- 如果一项任务比其他任务(4K 视频与日志文件)使用更多的吞吐量,该怎么办?
- 如果文件在写入时不断增长/生成(而不是批量传输现有文件),这是否算作顺序写入?
因此我问自己:我应该寻找具有良好顺序或随机写入性能的 SD 卡吗?如何测量实际顺序和随机 I/O 使用情况,以做出更明智的决定?
该平台是运行 Ubuntu 18 的 Nvidia TX1。TX1 仅限于 UHS-I 接口、U1 速度等级(10 MB/s)。进行此调查的动机是 I/O 瓶颈降低了正在写入的 4K 视频的实际 FPS(由于 I/O 尚未准备好,帧被丢弃)。