migratepages - Man Page
Migrate the physical location a processes pages
Synopsis
migratepages pid from-nodes to-nodes
Description
migratepages moves the physical location of a processes pages without any changes of the virtual address space of the process. Moving the pages allows one to change the distances of a process to its memory. Performance may be optimized by moving a processes pages to the node where it is executing.
If multiple nodes are specified for from-nodes or to-nodes then an attempt is made to preserve the relative location of each page in each nodeset.
For example if we move from nodes 2-5 to 7,9,12-13 then the preferred mode of operation is to move pages from 2->7, 3->9, 4->12 and 5->13. However, this is only posssible if enough memory is available.
- Valid node specifiers
all All nodes number Node number number1{,number2} Node number1 and Node number2 number1-number2 Nodes from number1 to number2 ! nodes Invert selection of the following specification.
Notes
Requires a NUMA policy aware kernel with support for page migration (linux 2.6.16 and later).
migratepages will only move pages that are not shared with other processes if called by a user without administrative priviledges (but with the right to modify the process).
migratepages will move all pages if invoked from root (or a user with administrative priviledges).
Files
/proc/<pid>/numa_maps for information about the NUMA memory use of a process.
Copyright
Copyright 2005-2006 Christoph Lameter, Silicon Graphics, Inc. migratepages is under the GNU General Public License, v.2
See Also
numactl(8) , set_mempolicy(2) , get_mempolicy(2) , mbind(2) , sched_setaffinity(2) , sched_getaffinity(2) , proc(5) , ftok(3) , shmat(2) , taskset(1)
Referenced By
cpuset(7), migrate_pages(2), move_pages(2), numactl(8).