Robert Murrell
12/18/2015 10:42 AM
post115358
|
Is there a guide for tuning io-blk options for performance under various environments? We have an embedded system that
uses a 4GB Compact Flash card formatted with QNX 6 file system. After the system runs, it creates a log file between
20KB and 100KB. It keeps the last 30000 logs on the compact flash per customer requirements. It needs to write the log
in less than one second after the end of each run. When running from powerup, the file write time is about .6 seconds.
If we access the system via the built in web server and read about 20 to 50 of these files, the write time jumps to 4
to 10 seconds for each file, even after we have closed the web session.
tracelogger is showing an inordinate amount of time in devb-eide eide_driver_thread, sharing the time with the idle
thread. Our thread that is performing the file write is mostly blocked in the Reply state.
I have tried various combinations of priorities and syncing with little improvement. I have found that the io-blk cache
setting has the most effect. Currently, because of our system's memory requirements, the cache is set to 8MB. When I
boost this to an unacceptable 100MB, the problem mostly goes away.
So now I need to adjust the io-blk option to get me the smallest memory usage and still meet out requirements.
Unfortunately, the documentation does not give much detailed information about each option's effect and how they relate
to the output of fsysinfo. Is there any guidance on tuning io-blk?
|
|
|