chmem -
پیکربندی
برخط یا
برونخط
حافظه
سیستم
chmem [-h] [-V] [-v]
[-e|-d] [SIZE|RANGE -b BLOCKRANGE]
[-z ZONE]
دستور chmem
اندازه یا
بازه مشخصی
از حافظه را
برخط (online) یا
برونخط (offline)
میکند.
•مقدار
SIZE را به صورت
<size>[m|M|g|G] مشخص
کنید. با m یا
M، مقدار <size>
اندازه
حافظه را بر
حسب
مبیبایت (MiB
یا ۱۰۲۴ ×
۱۰۲۴ بایت)
مشخص
میکند. با g
یا G، مقدار
<size> اندازه
حافظه را بر
حسب
گیبیبایت (GiB
یا ۱۰۲۴ ×
۱۰۲۴ × ۱۰۲۴
بایت) تعیین
میکند.
یکای
پیشفرض MiB
است.
•مقدار
RANGE را به فرم
0x<start>
-0x<end> همانند
آنچه در
خروجی
دستور
lsmem(1)
نشان داده
میشود
مشخص کنید.
مقدار <start>
نشانی
هگزادسیمال
نخستین
بایت و <end>
نشانی
هگزادسیمال
آخرین بایت
در بازه
حافظه است.
•مقدار
BLOCKRANGE را به فرم
<first>-<last> یا <block>
همانند
آنچه در
خروجی
دستور
lsmem(1)
نشان داده
میشود
مشخص کنید.
مقدار <first>
شماره
نخستین
بلوک حافظه
و <last> شماره
آخرین بلوک
حافظه در
بازه حافظه
است. همچنین
میتوان یک
بلوک منفرد
را مشخص کرد.
استفاده از
BLOCKRANGE نیازمند
گزینه
--blocks
است.
•مقدار
ZONE را به
عنوان نام
یک ناحیه
حافظه،
همانند
آنچه در
خروجی
دستور lsmem -o +ZONES
نشان داده
شده مشخص
کنید. این
خروجی یک یا
چند ناحیه
معتبر
حافظه را
برای هر
بازه حافظه
نشان
میدهد. اگر
چندین
ناحیه نشان
داده شود،
بازه حافظه
در حال حاضر
متعلق به
ناحیه نخست
است. بهطور
پیشفرض، chmem
در صورتی که
ناحیه Movable در
میان نواحی
معتبر
باشد،
حافظه را در
این ناحیه
برخط
میکند. این
پیشفرض را
میتوان با
تعیین
گزینه --zone به
همراه یک
ناحیه
معتبر دیگر
تغییر داد.
برای
بالونینگ
حافظه (memory ballooning)،
توصیه
میشود در
صورت امکان
ناحیه Movable
برای برخط و
برونخط
کردن حافظه
انتخاب شود.
احتمال
اینکه
حافظه در
این ناحیه
بتواند
مجدداً
برونخط
شود بسیار
بیشتر است،
اما
نمیتوان
از آن برای
تخصیصهای
دلخواه
هسته
استفاده
کرد، بلکه
تنها برای
صفحات
قابلانتقال
(مانند
صفحات
ناشناس و
حافظه
پنهان صفحه)
قابل
استفاده
است. برای
دیدن تمام
نواحی
موجود از
گزینه --help
استفاده
کنید.
مقادیر SIZE
و RANGE باید با
اندازه
بلوک حافظه
لینوکس
تراز (aligned)
باشند،
همانطور
که در خروجی
دستور lsmem(1)
نشان داده
شده است.
برخط کردن
حافظه ممکن
است به
دلایل
گوناگونی
با شکست
مواجه شود.
در
سیستمهای
مجازیسازیشده،
اگر
هایپروایزر
حافظه کافی
در اختیار
نداشته
باشد (برای
نمونه به
دلیل تخصیص
بیش از حد یا
overcommit شدن
حافظه)، این
عملیات
ممکن است
شکست بخورد.
برونخط
کردن حافظه
نیز در
صورتی که
لینوکس
نتواند
حافظه را
آزاد کند
ممکن است
ناموفق
باشد. اگر
تنها بخشی
از حافظه
درخواستی
بتواند
برخط یا
برونخط
شود، پیامی
به شما
اعلام
میکند که
به جای
مقدار
درخواستی،
چه مقدار
حافظه برخط
یا برونخط
شده است.
هنگام
برخط کردن
حافظه، chmem
از کمترین
شمارههای
بلوک حافظه
شروع
میکند.
هنگام
برونخط
کردن
حافظه، chmem
از بیشترین
شمارههای
بلوک حافظه
آغاز
میکند.
-b, --blocks
استفاده
از پارامتر
BLOCKRANGE به جای RANGE
یا SIZE برای
گزینههای
--enable و --disable.
-d, --disable
برونخط
کردن RANGE، SIZE
یا BLOCKRANGE
مشخصشده
از حافظه.
-e, --enable
برخط
کردن RANGE، SIZE
یا BLOCKRANGE
مشخصشده
از حافظه.
-z, --zone
انتخاب
ناحیه
حافظه (ZONE) که
قرار است RANGE،
SIZE یا BLOCKRANGE
مشخصشده
از حافظه در
آن برخط یا
برونخط
شود. بهطور
پیشفرض،
در صورت
امکان
حافظه در
ناحیه Movable
برخط خواهد
شد.
-v, --verbose
حالت
پرگو (verbose). باعث
میشود chmem
پیامهای
اشکالزدایی
درباره
روند
پیشرفت خود
را چاپ کند.
-h, --help
نمایش
متن راهنما
و خروج.
-V, --version
نمایش
نسخه و
خروج.
دستور chmem
مقادیر
وضعیت خروج
زیر را
دارد:
0
موفقیت
1
شکست
64
موفقیت
نسبی
chmem --enable 1024
این
دستور
درخواست
برخط شدن
۱۰۲۴
مبیبایت
از حافظه را
میدهد.
chmem -e 2g
این
دستور
درخواست
برخط شدن ۲
گیبیبایت
از حافظه را
میدهد.
chmem --disable 0x00000000e4000000-0x00000000f3ffffff
این
دستور
درخواست
برونخط
شدن بازه
حافظه از 0x00000000e4000000
تا 0x00000000f3ffffff را
میدهد.
chmem -b -d 10
این
دستور
درخواست
برونخط
شدن بلوک
شماره ۱۰
حافظه را
میدهد.