vmtouch

Intro to virtual memory

Doug Hoyte

Black-box view of virtual memory

Pages

Filesystem Cache

Paging System

How big are pages?

Translation Lookaside Buffer

TLB reach = page size * TLB capacity

Understanding a memory dereference

CPU support for "Huge Pages"

OS Support for Huge Pages

$ uname -a
SunOS neptune 5.10 Generic_127112-11 i86pc i386 i86pc Solaris
$ pagesize -a
4096
2097152


$ uname -a                                                    
SunOS pluto 5.10 Generic_138888-03 sun4v sparc SUNW Solaris
$ pagesize -a
8192
65536
4194304
268435456

OS Support for Huge Pages

Huge Pages in Kernel

System calls for managing the page cache

mmap(2)posix_fadvise(2)
mincore(2)posix_madvise(2)
msync(2)posix_fallocate(2)
madvise(2)readahead(2)
mprotect(2)memcntl(2)
mlock(2)meminfo(2)

But where are the command line utilities?

Demo

Let's touch some memory

vmtouch

http://hoytech.com/vmtouch/

Doug Hoyte