پر شدن حافظه رم (RAM) در لینوکس

کش شدن رم لینوکس

با سلام
هنگامی که شما لینوکس جدید نصب میکنید ،سیستم عامل لینوکس جهت افزایش سرعت پردازش ها و همینطور کاهش فشار روی هارد دیسک مقداری از رم را به صورت کش (cache) نگهداری می کند.همچنین گاهی اوقات بعد از بسته شدن برنامه رم مورد استفاده برنامه آزاد نمی‌شود. برای آزاد کردن رم در هر بخش، از دستورات زیر استفاده می‌کنیم:

برای آزاد کردن page cache :

sync
echo 1 > /proc/sys/vm/drop_caches

برای آزاد کردن dentry ها و inode ها :

echo 2 > /proc/sys/vm/drop_caches

و در انتها برای آزاد کردن page cache و inode ها و  dentry ها :

echo 3 > /proc/sys/vm/drop_caches

نکته: رمی که در لینوکس به عنوان cache استفاده می‌شود در مواقعی که سیستم با کمبود رم مواجه است می‌تواند به صورت خودکار به برنامه‌ها اختصاص یابد. در حقیقت لینوکس با اختصاص رم اضافه سیستم به عنوان کش سرعت دسترسی به هارد را افزایش می‌دهد و همزان در صورت کمبود رم این رم کش شده را به عنوان رم آزاد به برنامه‌ها می‌دهد.

free -m 
total       used       free     shared    buffers     cached
Mem:           486         94        391          0         10         37
-/+ buffers/cache:         46        439
Swap:           99          0         99

اعداد مقابل بخش Mem نشان‌دهنده رم استفاده شده سیستم با احتساب cache است اما اعداد مقابل بخش buffers/cache نشان دهنده رم سیستمی منهی cache است و نشان دنده رمی است که در نهایت می‌تواند به برنامه‌ها اختصاص یابد. در مثال بالا ۴۳۹ مگا بایت رم می‌تواند به برنامه‌ها اختصاص یابد.


همینک دیدگاه خود را برای ما بنویسید!