Aside from running memory benchmarks, has anyone used a benchmark that stresses the virtual memory subsystem? I'm curious to see how performance differs in virtual machines with and without EPT enabled.

I've found this benchmark: http://www.cs.princeton.edu/~appel/papers/vmpup.c and I was wondering if there were others.

CLARIFICATION: I realized it may be misleading, I'm looking to benchmark "virtual memory" in the memory management sense of the term (e.g. MMU performance), not in the paging to disk "swap" sense of the term.


I've not seen a tool that targets the VMM specifically but you might want to take a look at the following list of benchmarking resources which might bear some fruit.

Of the options I'd take a closer look at STREAM, it's specifically designed to test memory. Cachebench also looks worth a look, though it's now bundled with LLCbench.

| improve this answer | |
  • Thanks! STREAM is my go-to benchmark for memory and definitely a good way to indirectly measure this sort of thing. Not sure if it's really sensible to look for something as low-level as I'm interested, but I'm a fan of microbenchmarks :-) – zje Feb 9 '14 at 2:04
  • @zje - I've not seen anything that low level beyond what I mentioned (as possibilities). You might want to ask your Q on the linux kernel irc or one of the forums, they would know best and would likely have something to do it if anything exists. – slm Feb 9 '14 at 2:06

A benchmark is a (standardized) measurement of some system, and returns a number (or a set of numbers). Doing the measuring is a repeatable way is easy. What is hard (or even very hard) is to come up with a benchmark that means something, i.e., gives numbers that tell you if the setup is better or worse than another for your specific use.

In this particular case, virtual memory systems will react very differently depending on the pattern(s) of memory access. Any operating systems text will give an overview of what is going on, and compare some extremely simplistic algorithms to handle the problem. Real operating systems use much more complex techniques than those.

Best advise: Try to figure out what a representative application mix and corresponding load would be for your specific application, with an eye to load peaks that the system should handle, and measure those.

(Yes, doing that is a big job. Each part of it. Nobody serious will tell you representative benchmarking is a piece of cake.)

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.