On Tue, 2022-02-22 at 08:41 +0900, Damien Le Moal wrote: > On 2/21/22 23:40, Philippe Schenker wrote: > > Hello > > > > We use FIO to check the eMMC storage on our embedded boards. This > > works > > great for our modules that have >= 1GB RAM but on all lower-memory > > ones > > (<= 512MB) the OOM killer always kills FIO. > > > > I can hook up a swap which helps but is just painfully slow. > > Well yes, your system will be trashing... > > > > > I played with the settings mem, bs, iodepth and size but cannot > > achieve > > a configuration that works on low-memory embedded systems. > > > > Can anyone guide me how I can make this work? > > See if playing with option "--alloc-size=" helps. You can also reduce > the maximum number of jobs with "--max-jobs=". Also try using threads > instead of (default) processes for jobs (--thread option). And of > course > make sure that the total amount of IO buffers you need (num jobs * io > depth per job * bs) is not too large for your RAM size. Thank you very much for your help on this topic. I tried those parameters back and forth, however it seems to always reserve ~400MB on the biggest chunk (checked in /proc/<pid-of-fio>/smaps). decreasing the max allowed shared memory in /proc/sys/kernel/shmmax to ~64M does solve our issue and fio works also on 256MB ram. However this leads to the question if this is not a bug? I mean it seems to reserve this memory despite it's not needing it? What leads me to this assumption is that I can also set mem=malloc instead of mem=shm and I get still the same error. We use fio 3.17 is this maybe solved in newer versions? Best Regards, Philippe > > > > > Best Regards, > > Philippe > > > >