MIGRATEPAGES(8) Linux Administrator's Manual MIGRATEPAGES(8)

migratepages - انتقال مکان فیزیکی صفحات یک فرآیند

migratepages pid from-nodes to-nodes

دستور migratepages مکان فیزیکی صفحات یک فرآیند را بدون هیچ‌گونه تغییری در فضای آدرس مجازی آن جابه‌جا می‌کند. انتقال صفحات به کاربر اجازه می‌دهد تا فاصله فرآیند نسبت به حافظه‌اش را تغییر دهد. با انتقال صفحات یک فرآیند به گره‌ای (node) که در آن در حال اجراست، می‌توان عملکرد را بهینه‌سازی کرد.

اگر چندین گره برای from-nodes یا to-nodes مشخص شده باشد، تلاش می‌شود تا مکان نسبی هر صفحه در هر مجموعه گره (nodeset) حفظ شود.

به‌عنوان مثال اگر از گره‌های ۲-۵ به ۷، ۹، ۱۲-۱۳ انتقال دهیم، حالت ترجیحی عملیات انتقال صفحات به‌صورت 2->7، 3->9، 4->12 و 5->13 است. با این حال، این کار تنها در صورتی امکان‌پذیر است که حافظه کافی در دسترس باشد.

مشخص‌کننده‌های معتبر گره
all تمام گره‌ها
number شماره گره
number1{,number2} گره number1 و گره number2
number1-number2 گره‌ها از number1 تا number2
! nodes معکوس کردن انتخاب مشخصات پس از آن.

نیازمند هسته‌ای آگاه از سیاست‌های NUMA همراه با پشتیبانی از مهاجرت صفحه (page migration) است (لینوکس ۲.۶.۱۶ و بالاتر).

اگر توسط کاربری بدون امتیازات مدیریتی (اما با داشتن حق دسترسی برای تغییر فرآیند) فراخوانی شود، migratepages تنها صفحاتی را منتقل می‌کند که با سایر فرآیندها به اشتراک گذاشته نشده باشند.

اگر از طریق کاربر ریشه (root) یا کاربری با دسترسی‌های مدیریتی فراخوانی شود، migratepages تمامی صفحات را منتقل خواهد کرد.

/proc/<pid>/numa_maps برای دریافت اطلاعات درباره میزان مصرف حافظه NUMA توسط یک فرآیند.

حق نشر 2005-2006 Christoph Lameter, Silicon Graphics, Inc.
دستور migratepages تحت مجوز عمومی همگانی گنو، نسخه ۲ (GNU General Public License, v.2) منتشر شده است.

numactl(8) , set_mempolicy(2) , get_mempolicy(2) , mbind(2) , sched_setaffinity(2) , sched_getaffinity(2) , proc(5) , ftok(3) , shmat(2) , taskset(1)

Jan 2005 SGI