Re: Is there a way to flush the file cache?
- From: General Schvantzkoph <schvantzkoph@xxxxxxxxx>
- Date: 29 Dec 2006 13:29:38 GMT
On Fri, 29 Dec 2006 12:35:51 +0000, Jean-David Beyer wrote:
General Schvantzkoph wrote:
On Thu, 28 Dec 2006 13:29:24 -0800, Tony Lawrence wrote:
General Schvantzkoph wrote:
I'm writing a system exerciser that checks memory and disk I/O. Is there a
C call that flushes the file cache so that I can be assured that my freads
are coming from the disk and not the RAM. I'm using a sync() but I don't
think that does the whole job, it guarantees that the disk writes happen
but I don't think it clears out the file cache.
Well, of course it can't guarantee that some random app hasn't written
data, if that's what you mean..
What I want to do is the following,
1) Create a file and write it to the disk.
2) Read that file off of the disk and then check it.
I'm trying to check the SATA interfaces so it's important that the file go
to and from the disks. The file cache interferes with this because if the
file is present in the cache the program will get the cached copy not the
copy that is on the disk. The sync() call forces the disk writes to happen
immediately which is half of the battle. The other half is to purge the
file cache so that all subsequent file reads come from the disk. Is there
a way to do this?
Does your version of the kernel permit "raw IO"? The 2.4 kernels do. In that
case, you can open a raw partition and reads and writes will bypass the file
system and use just the device drivers. I believe the 2.6 kernels do not
unless you have some computability library or something.
I've just gotten the answer on the Fedora forums. The open() call has a
O_DIRECT flag which causes file I/O to use user buffers instead of the
cache. Raw IO isn't supported in the 2.6 kernels.
.
- Follow-Ups:
- Re: Is there a way to flush the file cache?
- From: Jean-David Beyer
- Re: Is there a way to flush the file cache?
- References:
- Is there a way to flush the file cache?
- From: General Schvantzkoph
- Re: Is there a way to flush the file cache?
- From: Tony Lawrence
- Re: Is there a way to flush the file cache?
- From: General Schvantzkoph
- Re: Is there a way to flush the file cache?
- From: Jean-David Beyer
- Is there a way to flush the file cache?
- Prev by Date: Re: Is there a way to flush the file cache?
- Next by Date: Re: internet on debian sarge
- Previous by thread: Re: Is there a way to flush the file cache?
- Next by thread: Re: Is there a way to flush the file cache?
- Index(es):
Relevant Pages
|