25 lines
1.1 KiB
Plaintext
25 lines
1.1 KiB
Plaintext
mmapbench will take one file as argument on the command line.
|
|
It will then map ever second page of the file, "count" times.
|
|
count is 25000 per default, (i.e. 100 megs are mapped, the file needs to
|
|
be at least 200 megs large).
|
|
|
|
The program will then prime the cache and read a few bytes from every
|
|
page that is mmapped later on, to make sure the pages are in the buffer
|
|
cache.
|
|
|
|
mmapbench will then mmap every other page and measure the latency of
|
|
that, and it will then read a byte of the page, which should force a
|
|
page fault in the OS and cause the OS to actually map the page to
|
|
memory.
|
|
|
|
On i386, mmapbench will read the task cycle counter instead of
|
|
gettimeofday and give the results in CPU cycles, not usec. You can
|
|
divide the numbers by the CPU frequency to get comparable numbers. As
|
|
there is no portable way to get the CPU frequency, mmapbench does not
|
|
even pretend to do this.
|
|
|
|
NOTE: if you get a bus error, you gave too small a file as argument.
|
|
The default settings from run-bench assume a file (or block device!) at
|
|
least 160 MB. So the easiest way is to just point mmapbench to your
|
|
root partition, or use dd to create a large new file.
|