در قسمت قبلی راجع به دستور free در سرور لینوکس صحبت کردیم که توضیحاتی خدمت شما داده شد که به نظر میرسد باید یاد داشته باشید. اما مبحثی را گذاشتم که در این بخش آموزشش را تقدیم شما کنم. در نتیجهای که دستور free به ما بر میگرداند دو اصطلاح به عناوین Cache و Buffers بود که تا حدی میتوان آنها را به جای هم استفاده کرد. آن هم به دلیل تشابهی که به هم دارند. اما دارای اختلافهای بسیاری هستند که به عنوان مدیر سرور باید از آنها آگاه باشید. پس بزن بریم تا اختلاف بین Buffers و Cache در رابطه با Ram لینوکس را دریابیم!
Buffer چیست؟
بافر مکانی موقتی برای ذخیره شدن دادههای یک برنامهی کاربردی خاص است که توسط برنامههای دیگر استفاده نمیشود. بافر مثل مفهوم پهنای باند است. وقتی شما سعی میکنید حجم عظیمی از دادهها را از یک شبکه عبور دهید که کارت شبکه قادر به عبور دادن آن مقدار داده نیست (یعنی سرعت لازم را ندارد)، کارت شبکه آن دادهها را به صورت بافر نگه میدارد تا به صورت مداوم و پیوسته انتقال دادهها با سرعت پایینتری انجام گیرد.
Cache چیست؟
از طرف دیگر Cache محلی روی حافظه است که دادههایی که به کرات از آنها استفاده میشود را برای دسترسی راحتتر نگه میدارد. اختلاف دیگر کش با بافر این است که Buffer فقط یک بار مورد استفاده قرار میگیرد. در حالی که دادههای Cache شده میتوانند چندین بار مورد استفاده قرار گیرند و هر دوی آنها به منظور انجام یک کار به صورت موقتی روی RAM نگهداری میشوند.
حالا میرویم سراغ اندکی محاسبه و جمع و تفریق! نگاه دوبارهای به نتیجۀ دستور free -m خواهیم داشت.
ما الان اینجا به خط دوم یعنی خطی که با
-/+ buffers/cache:
از نتیجۀ دستور free شروع شده است کار داریم. دو تا عدد روبروی آن میبینید که اولی از سمت چپ زیر ستون used و دومی زیر ستون free نوشته شده است. این اعداد به ترتیب میزان حافظۀ RAM مورد استفاده و خالی باقی مانده بدون در نظر گرفتن کش و بافر را نشان میدهند. پس طبیعی است که RAM استفاده شده در این ردیف کمتر و RAM آزاد بیشتر از مقدار ردیف قبلی باشند.
اما حالا میرویم سراغ یک جمع و تفریق ساده. RAM استفاده شده در خط اول ۱۳۲ MB است که اگر از مقدار buffers و cached خط اول کمش کنیم، طبیعتاً باید عددی تقریباً برابر ۶۷ به دست آید:
۱۳۲ - (۲۲ + ۴۱) = ۶۹
این از مقدار RAM استفاده شده بدون در نظر گرفتن بافر و کش. اما میرویم سراغ عدد دوم از خط دوم که جلوی عبارت buffers/cache و زیر ستون free نوشته شده است. اگر از محاسبۀ پایین سر در بیاورید و خودتان بتوانید تحلیلش کنید، همه چیز را یاد گرفتید و حالا یک قدم دیگر به درک کامل دستور free نزدیک تر شدید.
۴۹۹ - ۶۷ = ۴۳۲
نتیجۀ محاسبات بالا با اعدادی که در نتیجه نمایش داده میشوند، اندکی فرق میکنند که این دلیل خاص خودش را دارد. مثلاً در محاسبۀ اخیر مقدار حافظۀ RAM آزاد بدون احتساب کش و بافر را ۴۳۲ به دست آوردیم که از تفریق میزان حافظۀ مصرف شده از میزان کل RAM به دست آمد. اما در نتیجۀ دستور عدد ۴۳۱ را به ما نشان میدهد که این اختلاف زیاد مهم نیست.
پس تا اینجا با قسمت اعظم بررسی میزان پر یا خالی بودن RAM آشنا شدید. فقط خط آخر میماند که مربوط به حافظۀ تبادلی یا Swap است که در مقالۀ بعدی آن را هم خدمت شما توضیح خواهم داد؛ اینکه اصلاً Swap چیست چه کاری را انجام میدهد. در نهایت باید آن قدر این دستور را در خط فرمان لینوکس بزنید و آن را بررسی کنید، تا ملکۀ ذهنتان شود و با یک نگاه بفهمید که اوضاع RAM سیستم از چه قرار است. امیدوارم که از این آموزش هم لذت برده باشید با آموزش های دیگر مدیریت سرور لینوکس همراه ما باشید.
۰ دیدگاه