move_pages(2) System Calls Manual move_pages(2) move_pages - NUMA ( ) (libnuma -lnuma) #include long move_pages(int pid, unsigned long count, void *pages[count], const int nodes[count], int status[count], int flags); move_pages() pages pid nodes. status. flags . pid . pid 0 move_pages() . : o Linux 4.12 : (CAP_SYS_NICE) . o UID Linux 4.13. Linux 4.13 ptrace PTRACE_MODE_READ_REALCREDS ptrace(2). count . pages nodes status. pages . . pid. nodes . . nodes NULL move_pages() status. . status . move_pages() . numa . flags . MPOL_MF_MOVE . MPOL_MF_MOVE_ALL . (CAP_SYS_NICE) MPOL_MF_MOVE_ALL. status. 0..MAX_NUMNODES . -EACCES MPOL_MF_MOVE_ALL. -EBUSY . . / . -EFAULT . -EIO . . -EINVAL . . -ENOENT . -ENOMEM . move_pages() . -1 errno . . ( Linux 4.17). E2BIG . 2.6.29 . EACCES . EFAULT . EINVAL MPOL_MF_MOVE MPOL_MF_MOVE_ALL . ENODEV . EPERM MPOL_MF_MOVE_ALL (CAP_SYS_NICE). (CAP_SYS_NICE). ESRCH . . 2.6.18. numa(7). get_mempolicy(2) MPOL_F_MEMS_ALLOWED . . () ( mbind(2)) / ( set_mempolicy(2)). move_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) 3 . . : . 6.18 8 2026 move_pages(2)