I'm trying to run a custom application on an embedded Linux platform (Linux 4.1). This application writes 1 MB of data continuously to the SD card (Sandisk UHS I class). The application uses an fwrite()
call to write the data to the SD card.
Below are my observations when the SD card write throughput was monitored.
write()
system call instead of fwrite()
, with O_SYNC
flag set. With this, the instantaneous throughput has increased to 1MBps. The SD card spec says the minimum throughput supported is 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. What should I do?
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.