نحوه خالی کردن کش رم در لینوکس بطور اتوماتیک
قبل از هر چیز باید بدانید اینکه ما مثلا هر روز در یک ساعت مشخص کش رم را خالی کنیم ممکن است این موضوع به سرور ما آسیب بزند.
لینوکس اینطور طراحی شده است که قبل از مراجعه به دیسک، به کش سرور مراجعه می کند و اگر کش خالی باشد مجبور است از دیسک استفاده کند که حداقل برای یک مدت کوتاه سرور را با کندی روبرو میکند و فرض کنید شما در cronjob ساعت اجرا را اینطور تنظیم میکنید که هر روز ساعت 20:00 سرور کش را خالی کند و در همان لحظه کاربران زیادی به سرور درخواست می فرستند و سرور مجبور است به دیسک مراجعه کند. و در نهایت ممکن است سرور کراش کند.
پس بهتر است در مواقع نیاز رم خالی شود. اما بهرحال اگر احساس کردید که لازم است این کار را انجام دهید باید ریسک آن را بپذیرید و موارد زیر را انجام دهید.
1. ابتدا یک بش اسکریپت ایجاد می کنیم. در ترمینال لینوکس بنویسید
touch freecache.sh
2. هم اکنون فایل را باز کرده و دستور زیر را وارد نمایید.
#!/bin/bash echo 3 > /proc/sys/vm/drop_caches
3. به فایل خود دسترسی اجرایی بدهید.
chmod 4777
4. حالا با استفاده از cron تنظیم میکنیم که هر روز ساعت 2 و 30 دقیقه بامداد این اسکریپت اجرا شده و کش رم را پاک کند.
ابتدا دستور ویرایش cron را می نویسیم.crontab -eحالا تایمر را برنامه ریزی می کنیم.
30 2 * * * ~/ clearcache.sh
الان cronjob ایجاد شده و فرآیند خالی کردن کش رم بطور خودکار انجام میگیرد.
ممنون از مطالب مفیدت