Messages in this thread | | | From | Benjamin Rutt <> | Subject | clearing filesystem cache for I/O benchmarks | Date | Fri, 23 Jul 2004 18:54:54 -0400 |
| |
How can I purge all of the kernel's filesystem caches, so I can trust that my I/O (read) requests I'm trying to benchmark bypass the kernel filesystem cache?
Unfortunately, I cannot:
1) reboot the system
2) re-mount the filesystem where the reads are occuring
So I propose that I am left with the following options:
3) Reading through a file sufficiently larger than the RAM installed on the system? e.g. read through a 10GB file on a machine with 8GB of RAM
4) Since I can create the files fresh every time, I would write() them out using O_DIRECT flag to open(), then the immediately following read of that file would be guaranteed to avoid pulling it from cache.
So, can someone evaluate whether how whether options 3 and 4 would work, or offer other suggestons? And I wouldn't object if the issue of clearing disk and controller cache entered into the discussion (I'm thinking #3 would do a better job at clearing disk/controller caches).
In case it is relevant, here are the two relevant kernel versions I'm using, both under the distribution "Red Hat Enterprise Linux AS release 3 (Taroon)":
Linux xio11 2.6.6 #2 SMP Wed Jun 9 10:37:24 EDT 2004 i686 i686 i386 GNU/Linux
Linux xio06 2.4.21-9.ELhugemem #1 SMP Tue Apr 27 13:52:32 EDT 2004 i686 i686 i386 GNU/Linux
Thank you, -- Benjamin Rutt
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |