محتوای آموزشی وبلاگ نتآرام
لینوکس یک سیستم عامل متن باز و رایگان است که محبوبیت زیادی دارد و دستورات بسیار زیادی دارد، یکی از دستور های پرکاربرد لینوکس دستور free است، این دستور که مقدار حافظه RAM و SWAP را برای کاربران نمایش می دهد سوئیچ های زیادی دارد که در ادامه به توضیح انواع آن خواهیم پرداخت.
1-نمایش رم سیستم :
توسط این دستور می توانید اطلاعات در مورد رم فیزیکی سیستم و swap مشاهده کنید، این دستور مقدار رم و swap کلی و استفاده شده را به کیلوبایت نمایش می دهد.
کد / دستور# free
total used free shared buffers cached
Mem: 1021628 912548 109080 0 120368 655548
-/+ buffers/cache: 136632 884996
Swap: 4194296 0 4194296
2-نمایش رم به بایت Bytes :
دستور free با سوئیچ -b مقدار رم را به بایت نمایش می دهد.
کد / دستور# free -b
total used free shared buffers cached
Mem: 1046147072 934420480 111726592 0 123256832 671281152
-/+ buffers/cache: 139882496 906264576
Swap: 4294959104 0 4294959104
3-نمایش فضا رم به کیلوبایت :
با استفاده از سوئیچ -k مقدار رم به کیلوبایت نمایش داده می شود :
کد / دستور# free -k
total used free shared buffers cached
Mem: 1021628 912520 109108 0 120368 655548
-/+ buffers/cache: 136604 885024
Swap: 4194296 0 4194296
4-نمایش رم به مگابایت :
با استفاده از سوئیچ -m مقدار فضا رم به مگابایت نمایش داده می شود :
کد / دستور# free -m
total used free shared buffers cached
Mem: 997 891 106 0 117 640
-/+ buffers/cache: 133 864
Swap: 4095 0 4095
5-نمایش رم به گیگابایت :
توسط سوئیچ -g مقدار فضا استفاده شده و در دسترس رم به گیگابایت نمایش داده می شود :
کد / دستور# free -g
total used free shared buffers cached
Mem: 0 0 0 0 0 0
-/+ buffers/cache: 0 0
Swap: 3 0 3
6-نمایش مجموع کل هر ستون:
با سوئیچ -t مجموع هر ستون در خط آخر نمایش داده می شود :
کد / دستور# free -t
total used free shared buffers cached
Mem: 1021628 912520 109108 0 120368 655548
-/+ buffers/cache: 136604 885024
Swap: 4194296 0 4194296
Total: 5215924 912520 4303404
7-غیر فعال کردن خط Buffer Adjusted در خروجی نمایش :
در حالت پیش فرض دستور free، خط buffer adjusted در خروجی دستور نمایش داده می شود برای غیر فعال کردن آن از سوئیچ -o استفاده می کنیم :
کد / دستور# free -o
total used free shared buffers cached
Mem: 1021628 912520 109108 0 120368 655548
Swap: 4194296 0 4194296
8- بروزرسانی منظم بر اساس تایم زمانی صفحه خروجی دستور free :
با استفاده از سوئیچ -s می توانید مقدار را به ثانیه وارد کنید تا به طور منظم خروجی دستور بروزرسانی شود مثلا در صورتی که 5 وارد شود هر 5 ثانیه وضعیت رم به شما نمایش داده می شود :
کد / دستور# free -s 5
total used free shared buffers cached
Mem: 1021628 912368 109260 0 120368 655548
-/+ buffers/cache: 136452 885176
Swap: 4194296 0 4194296
9-نمایش آمار کم و زیاد حافظه :
توسط سوئیچ -l در خروجی جزئیات کم و زیاد حافظه نمایش داده می شود :
کد / دستور# free -l
total used free shared buffers cached
Mem: 1021628 912368 109260 0 120368 655548
Low: 890036 789064 100972
High: 131592 123304 8288
-/+ buffers/cache: 136452 885176
Swap: 4194296 0 4194296
10-نمایش نسخه دستور free :
با سوئیچ -V می توانید نسخه دستور free خود را مشاهده فرمایید :
کد / دستور# free -V
procps version 3.2.8
امیدارم مقاله بالا برای شما دوستان عزیز مفید باشد، در صورتی که نظری در مورد این مقاله دارید در قسمت دیدگاه های همین صفحه آن را به اشتراک بگذارید.
توضیح بیشتر برای انجام مراحل
این دستورها برای مشاهدهاند و تنظیم حافظه را تغییر نمیدهند. برای مقایسه، زمان و بار برنامه را ثبت کنید.
خروجی فعلی
از free -h یا free -m استفاده کنید. ستونها در procps جدید با تصاویر قدیمی buffers/cache تفاوت دارند و بعضی گزینههای قدیمی دیگر کاربرد ندارند.
فشار واقعی
available، swap و روند را در کنار vmstat، کندی و خطای OOM ببینید. swap استفادهشده بهتنهایی فشار فعال را ثابت نمیکند.
پایش محدود
با -s و -c چند نمونه بگیرید و مصرف پردازشها را جدا بررسی کنید. جمع کردن RSS همهٔ پردازشها ممکن است حافظهٔ مشترک را دوباره بشمارد.
خواندن ستونهای اصلی
total حافظهٔ در دسترس سیستم، free حافظهٔ کاملاً آزاد و available تخمین حافظهٔ قابل استفاده بدون swap شدید است. بخشی از RAM برای cache و buffer استفاده میشود و در صورت نیاز قابل بازپسگیری است؛ کم بودن free بهتنهایی مشکل را نشان نمیدهد.
تشخیص فشار حافظه
وضعیت available، مصرف و رفتوبرگشت swap، کندی برنامه و رخداد OOM را کنار هم ببینید. خروجی لحظهای free مصرف یک پردازش را مشخص نمیکند. در کانتینر، گزارش ابزار و سقف cgroup ممکن است متفاوت باشند؛ محدودیت سرویس را نیز کنترل کنید.
یک نمونهٔ لحظهای برای تصمیم خرید RAM کافی نیست. بار واقعی، دورهٔ اوج و لاگ OOM را بررسی کنید.
کد / دستورfree -h
free -m
vmstat 1 5
منابع و ادامهٔ مطالعه
مقاله قبلی
انتخاب سرور مجازی متناسب با بار واقعی
۳۱ تیر ۱۳۹۴مقاله بعدی
دیدگاهها (۱)
دیدگاههای تاییدشده و پاسخهای تیم نتآرام
دانیال بهزادی
البته لینوکس سیستمعامل نیست. لینوکس یه کرنل سیستمعامله و در کنار اجزای دیگهٔ سیستمعامل، تشکیل یه سیستمعامل رو میده. معروفترین سیستمعاملهایی که لینوکس توشون به عنوان کرنل به کار رفته، گنو/لینوکس و اندروید هستن.


