[英]SD card throughput on Linux machine
I'm trying to run a custom application on an embedded Linux platform (Linux 4.1). 我正在尝试在嵌入式Linux平台(Linux 4.1)上运行自定义应用程序。 This application writes 1 MB of data continuously to the SD card (Sandisk UHS I class).
该应用程序将1 MB的数据连续写入SD卡(Sandisk UHS I类)。 The application uses an
fwrite()
call to write the data to the SD card. 该应用程序使用
fwrite()
调用将数据写入SD卡。
Below are my observations when the SD card write throughput was monitored. 以下是监视SD卡写入吞吐量时的观察结果。
write()
system call instead of fwrite()
, with O_SYNC
flag set. O_SYNC
标志设置的write()
系统调用而不是fwrite()
。 With this, the instantaneous throughput has increased to 1MBps. The SD card spec says the minimum throughput supported is 10 MBps. SD卡规范说,支持的最小吞吐量为10 MBps。 Why does the instantaneous throughput drop?
为什么瞬时吞吐量下降?
Is this behaviour expected? 这是预期的行为吗? What is limiting the instantaneous throughput?
什么限制了瞬时吞吐量?
My application requires minimum instantaneous throughput of 4MBps. 我的应用程序要求最小瞬时吞吐量为4MBps。 What should I do?
我该怎么办?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.