سلام
اگر دقت کرده باشید نمایش میزان مصرف رم در دستورات free و htop متفاوت است و htop میزان مصرف کمتری از free را نمایش می دهد سوال اینجاست که کدام یک میزان دقیق را نمایش می دهند و علت تفاوت نمایش مصرف رم در دستورات free و htop چیست؟.
مقدار نمایش داده شده توسط htop مقدار کل حافظه مصرف شده توسط پردازه ها ( پروسس ها ) می باشد. مابقی حافظه آزاد توسط کرنل ( kernel ) لینوکس برای buffering و disk cache استفاده می شود که در صورت نیاز براحتی توسط کرنل آزاد می شوند. اما مقدار نمایش داده شده توسط free شامل مجموع حافظه مصرفی پروسس ها و buffering و disk cache می باشد.
لذا مقدار صحیح و معنی دار مقداری باشد که htop نمایش می دهد.
نحوه محاسبات بصورت جدول زیر است:
البته دقت کنید در ورژن های پچ شده و جدید free محاسبه حافظه استفاده شده مشابه htop شده است برای مثال در CentOS 7 از ورژن پچ شده استفاده می شود.
برای اطلاعات بیشتر لینک های اینجا و اینجا را مطالعه کنید.
اگر دقت کرده باشید نمایش میزان مصرف رم در دستورات free و htop متفاوت است و htop میزان مصرف کمتری از free را نمایش می دهد سوال اینجاست که کدام یک میزان دقیق را نمایش می دهند و علت تفاوت نمایش مصرف رم در دستورات free و htop چیست؟.
مقدار نمایش داده شده توسط htop مقدار کل حافظه مصرف شده توسط پردازه ها ( پروسس ها ) می باشد. مابقی حافظه آزاد توسط کرنل ( kernel ) لینوکس برای buffering و disk cache استفاده می شود که در صورت نیاز براحتی توسط کرنل آزاد می شوند. اما مقدار نمایش داده شده توسط free شامل مجموع حافظه مصرفی پروسس ها و buffering و disk cache می باشد.
لذا مقدار صحیح و معنی دار مقداری باشد که htop نمایش می دهد.
نحوه محاسبات بصورت جدول زیر است:
کد:
#free:
Row Column | Corresponding /proc/meminfo entry
-----|--------|----------------------------------
Mem:
total : MemTotal
used : MemTotal - MemFree
free : MemFree
shared : MemShared
buffers : Buffers
cached : Cached
-----|--------|----------------------------------
-/+ buffers/cache:
used : (MemTotal - MemFree) - (Buffers + Cached)
free : MemFree + (Buffers + Cached)
#htop:
Used U* : ((MemTotal - MemFree) - (Buffers + Cached)) / 1024
البته دقت کنید در ورژن های پچ شده و جدید free محاسبه حافظه استفاده شده مشابه htop شده است برای مثال در CentOS 7 از ورژن پچ شده استفاده می شود.
برای اطلاعات بیشتر لینک های اینجا و اینجا را مطالعه کنید.