migrate_pages(2) System Calls Manual migrate_pages(2) migrate_pages - NUMA ( ) (libnuma -lnuma) #include long migrate_pages(int pid, unsigned long maxnode, const unsigned long *old_nodes, const unsigned long *new_nodes); migrate_pages() pid old_nodes new_nodes. old_nodes. old_nodes new_nodes. old_nodes new_nodes maxnode . ( maxnode). maxnode ( mbind(2) select(2)). pid . (CAP_SYS_NICE) . pid 0 migrate_pages() . CAP_SYS_NICE. migrate_pages() ( ). -1 errno . EFAULT old_nodes/new_nodes maxnode . EINVAL maxnode . old_nodes new_nodes . new_nodes cpuset . EPERM (CAP_SYS_NICE) pid (CAP_SYS_NICE) . ESRCH pid. . 2.6.16. numa(7). get_mempolicy(2) MPOL_F_MEMS_ALLOWED cpuset . cpuset. migrate_pages() () ( mbind(2)) / ( set_mempolicy(2)). migrate_pages(). glibc libnuma-devel . get_mempolicy(2) mbind(2) set_mempolicy(2) numa(3) numa_maps(5) cpuset(7) numa(7) migratepages(8) numastat(8) Documentation/vm/page_migration.rst 3 . . : . 6.18 8 2026 migrate_pages(2)