ലിനക്സിൽ റാം മെമ്മറി കാഷെ, ബഫർ, സ്വാപ്പ് എന്നിവ എങ്ങനെ മായ്ക്കാം


മറ്റേതൊരു ഓപ്പറേറ്റിംഗ് സിസ്റ്റത്തെയും പോലെ, ഗ്നു/ലിനക്സും മെമ്മറി മാനേജ്മെന്റ് കാര്യക്ഷമമായും അതിലുപരിയായി നടപ്പിലാക്കിയിട്ടുണ്ട്. എന്നാൽ ഏതെങ്കിലും പ്രക്രിയ നിങ്ങളുടെ മെമ്മറി ഇല്ലാതാക്കുകയും നിങ്ങൾ അത് മായ്uക്കാൻ ആഗ്രഹിക്കുകയും ചെയ്യുന്നുവെങ്കിൽ, റാം കാഷെ ഫ്ലഷ് ചെയ്യാനോ മായ്uക്കാനോ ഉള്ള ഒരു മാർഗം Linux നൽകുന്നു.

  • Linux-ൽ മെമ്മറി ഉപയോഗം അനുസരിച്ച് മികച്ച 15 പ്രക്രിയകൾ കണ്ടെത്തുക
  • ലിനക്സിൽ ഉയർന്ന മെമ്മറിയും സിപിയു ഉപയോഗവും ഉപയോഗിച്ച് മികച്ച റണ്ണിംഗ് പ്രക്രിയകൾ കണ്ടെത്തുക
  • ലിനക്സിലെ പ്രക്രിയകളുടെ സമയവും മെമ്മറി ഉപയോഗവും എങ്ങനെ പരിമിതപ്പെടുത്താം

എല്ലാ ലിനക്സ് സിസ്റ്റത്തിനും കാഷെ മായ്uക്കുന്നതിന് മൂന്ന് ഓപ്uഷനുകൾ ഉണ്ട്, ഏതെങ്കിലും പ്രോസസ്സുകളോ സേവനങ്ങളോ തടസ്സപ്പെടുത്താതെ.

1. PageCache മാത്രം മായ്uക്കുക.

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

2. ദന്തങ്ങളും ഐനോഡുകളും മായ്uക്കുക.

# sync; echo 2 > /proc/sys/vm/drop_caches

3. പേജ് കാഷെ, ദന്തങ്ങൾ, ഐനോഡുകൾ എന്നിവ മായ്uക്കുക.

# sync; echo 3 > /proc/sys/vm/drop_caches 

മുകളിലുള്ള കമാൻഡിന്റെ വിശദീകരണം.

സമന്വയം ഫയൽ സിസ്റ്റം ബഫർ ഫ്ലഷ് ചെയ്യും. \;” കൊണ്ട് വേർതിരിച്ച കമാൻഡ് തുടർച്ചയായി പ്രവർത്തിപ്പിക്കുക. ക്രമത്തിൽ അടുത്ത കമാൻഡ് എക്സിക്യൂട്ട് ചെയ്യുന്നതിനുമുമ്പ് ഷെൽ ഓരോ കമാൻഡും അവസാനിപ്പിക്കുന്നതിനായി കാത്തിരിക്കുന്നു. കേർണൽ ഡോക്യുമെന്റേഷനിൽ സൂചിപ്പിച്ചതുപോലെ, drop_cache-ലേക്ക് എഴുതുന്നത് കാഷെ നശിപ്പിക്കാതെ തന്നെ വൃത്തിയാക്കും. ആപ്ലിക്കേഷൻ/സർവീസ്, കമാൻഡ് എക്കോ ഫയലിലേക്ക് എഴുതുന്ന ജോലി ചെയ്യുന്നു.

നിങ്ങൾക്ക് ഡിസ്ക് കാഷെ മായ്uക്കണമെങ്കിൽ, എന്റർപ്രൈസിലും പ്രൊഡക്ഷനിലും ആദ്യ കമാൻഡ് സുരക്ഷിതമാണ്, കാരണം \...echo 1 >….” പേജ് കാഷെ മാത്രം മായ്uക്കും. ഇത് ഉപയോഗിക്കാൻ ശുപാർശ ചെയ്യുന്നില്ല \...echo 3 >” എന്നതിന് മുകളിലുള്ള മൂന്നാമത്തെ ഓപ്uഷൻ, നിങ്ങൾ എന്താണ് ചെയ്യുന്നതെന്ന് അറിയുന്നതുവരെ, അത് പേജ് കാഷെ, ഡെന്ററികൾ, ഐനോഡുകൾ എന്നിവ മായ്uക്കും.

നിങ്ങൾ വിവിധ ക്രമീകരണങ്ങൾ പ്രയോഗിക്കുകയും പരിശോധിക്കാൻ ആഗ്രഹിക്കുകയും ചെയ്യുമ്പോൾ, അത് യഥാർത്ഥത്തിൽ I/O-എക്സ്റ്റെൻസീവ് ബെഞ്ച്uമാർക്കിലാണ് നടപ്പിലാക്കിയതെങ്കിൽ, നിങ്ങൾ ബഫർ കാഷെ മായ്uക്കേണ്ടി വന്നേക്കാം. സിസ്റ്റം റീബൂട്ട് ചെയ്യാതെ തന്നെ മുകളിൽ വിശദീകരിച്ചതുപോലെ നിങ്ങൾക്ക് കാഷെ ഡ്രോപ്പ് ചെയ്യാൻ കഴിയും, അതായത്, പ്രവർത്തനരഹിതമായ സമയം ആവശ്യമില്ല.

ഡിസ്കിലേക്ക് നോക്കുന്നതിന് മുമ്പ് ഡിസ്ക് കാഷെയിലേക്ക് നോക്കുന്ന വിധത്തിലാണ് ലിനക്സ് രൂപകൽപ്പന ചെയ്തിരിക്കുന്നത്. അത് കാഷെയിൽ ഉറവിടം കണ്ടെത്തുകയാണെങ്കിൽ, അഭ്യർത്ഥന ഡിസ്കിൽ എത്തില്ല. നമ്മൾ കാഷെ വൃത്തിയാക്കുകയാണെങ്കിൽ, ഡിസ്കിലെ റിസോഴ്സ് OS തിരയുന്നതിനാൽ ഡിസ്ക് കാഷെ ഉപയോഗപ്രദമല്ല.

മാത്രമല്ല, കാഷെ വൃത്തിയാക്കുകയും OS-ന് ആവശ്യമായ എല്ലാ റിസോഴ്uസും ഡിസ്uക് കാഷെയിൽ വീണ്ടും ലോഡുചെയ്യുകയും ചെയ്യുമ്പോൾ ഇത് കുറച്ച് നിമിഷത്തേക്ക് സിസ്റ്റത്തെ മന്ദഗതിയിലാക്കും.

ഇപ്പോൾ ഞങ്ങൾ ഒരു ക്രോൺ ഷെഡ്യൂളർ ടാസ്uക് വഴി റാം കാഷെ യാന്ത്രികമായി മായ്uക്കുന്നതിന് ഒരു ഷെൽ സ്uക്രിപ്റ്റ് സൃഷ്uടിക്കും. ഒരു ഷെൽ സ്ക്രിപ്റ്റ് clearcache.sh സൃഷ്ടിച്ച് ഇനിപ്പറയുന്ന വരികൾ ചേർക്കുക.

#!/bin/bash
# Note, we are using "echo 3", but it is not recommended in production instead use "echo 1"
echo "echo 3 > /proc/sys/vm/drop_caches"

clearcache.sh ഫയലിൽ എക്സിക്യൂട്ട് പെർമിഷൻ സജ്ജമാക്കുക.

# chmod 755 clearcache.sh

ഇപ്പോൾ നിങ്ങൾക്ക് റാം കാഷെ മായ്uക്കേണ്ടിവരുമ്പോൾ സ്uക്രിപ്uറ്റിലേക്ക് വിളിക്കാം.

ഇപ്പോൾ എല്ലാ ദിവസവും പുലർച്ചെ 2 മണിക്ക് റാം കാഷെ മായ്uക്കാൻ ഒരു ക്രോൺ സജ്ജമാക്കുക. എഡിറ്റിംഗിനായി ക്രോണ്ടാബ് തുറക്കുക.

# crontab -e

എല്ലാ ദിവസവും 2 am ന് പ്രവർത്തിപ്പിക്കുന്നതിന് ചുവടെയുള്ള വരി ചേർക്കുക, സംരക്ഷിച്ച് പുറത്തുകടക്കുക.

0  2  *  *  *  /path/to/clearcache.sh

ഒരു ജോലി എങ്ങനെ ക്രോൺ ചെയ്യാം എന്നതിനെക്കുറിച്ചുള്ള കൂടുതൽ വിവരങ്ങൾക്ക്, 11 ക്രോൺ ഷെഡ്യൂളിംഗ് ജോലികളെക്കുറിച്ചുള്ള ഞങ്ങളുടെ ലേഖനം പരിശോധിക്കാൻ നിങ്ങൾ ആഗ്രഹിച്ചേക്കാം.

ഇല്ല! ഇതല്ല. എല്ലാ ദിവസവും പുലർച്ചെ 2 മണിക്ക് റാം കാഷെ മായ്uക്കാൻ നിങ്ങൾ സ്uക്രിപ്റ്റ് ഷെഡ്യൂൾ ചെയ്uതിരിക്കുന്ന സാഹചര്യത്തെക്കുറിച്ച് ചിന്തിക്കുക. എല്ലാ ദിവസവും പുലർച്ചെ 2 മണിക്ക് സ്ക്രിപ്റ്റ് എക്സിക്യൂട്ട് ചെയ്യുകയും അത് നിങ്ങളുടെ റാം കാഷെ ഫ്ലഷ് ചെയ്യുകയും ചെയ്യുന്നു. ഏതൊരു കാരണത്താലും ഒരു ദിവസം പ്രതീക്ഷിച്ചതിലും കൂടുതൽ ഉപയോക്താക്കൾ നിങ്ങളുടെ വെബ്uസൈറ്റിൽ ഓൺലൈനായി നിങ്ങളുടെ സെർവറിൽ നിന്ന് ഉറവിടങ്ങൾ തേടുന്നു.

അതേ സമയം, ഷെഡ്യൂൾ ചെയ്ത സ്ക്രിപ്റ്റ് പ്രവർത്തിക്കുകയും കാഷെയിലെ എല്ലാം മായ്uക്കുകയും ചെയ്യുന്നു. ഇപ്പോൾ എല്ലാ ഉപയോക്താക്കളും ഡിസ്കിൽ നിന്ന് ഡാറ്റ എടുക്കുന്നു. ഇത് സെർവർ തകരാറിലാകുകയും ഡാറ്റാബേസ് കേടാകുകയും ചെയ്യും. അതിനാൽ ആവശ്യമുള്ളപ്പോൾ മാത്രം റാം-കാഷെ മായ്uക്കുക, നിങ്ങളുടെ കാൽപ്പാടുകൾ അറിയുക, അല്ലാത്തപക്ഷം നിങ്ങൾ ഒരു കാർഗോ കൾട്ട് സിസ്റ്റം അഡ്മിനിസ്uട്രേറ്ററാണ്.

നിങ്ങൾക്ക് സ്വാപ്പ് സ്പേസ് മായ്uക്കണമെങ്കിൽ, ചുവടെയുള്ള കമാൻഡ് പ്രവർത്തിപ്പിക്കാൻ നിങ്ങൾ ആഗ്രഹിച്ചേക്കാം.

# swapoff -a && swapon -a

കൂടാതെ, ബന്ധപ്പെട്ട എല്ലാ അപകടസാധ്യതകളും മനസ്സിലാക്കിയ ശേഷം മുകളിലുള്ള ഒരു ക്രോൺ സ്ക്രിപ്റ്റിലേക്ക് നിങ്ങൾക്ക് മുകളിലുള്ള കമാൻഡ് ചേർക്കാവുന്നതാണ്.

റാം കാഷെയും സ്വാപ്പ് സ്uപെയ്uസും മായ്uക്കുന്നതിന് ശരിയായ സ്uക്രിപ്റ്റ് നിർമ്മിക്കുന്നതിന് മുകളിലുള്ള രണ്ട് കമാൻഡുകളും ഒരൊറ്റ കമാൻഡിലേക്ക് ഞങ്ങൾ ഇപ്പോൾ സംയോജിപ്പിക്കും.

# echo 3 > /proc/sys/vm/drop_caches && swapoff -a && swapon -a && printf '\n%s\n' 'Ram-cache and Swap Cleared'

OR

$ su -c "echo 3 >'/proc/sys/vm/drop_caches' && swapoff -a && swapon -a && printf '\n%s\n' 'Ram-cache and Swap Cleared'" root

മുകളിലുള്ള രണ്ട് കമാൻഡുകളും പരിശോധിച്ച ശേഷം, സ്ക്രിപ്റ്റ് പ്രവർത്തിപ്പിക്കുന്നതിന് മുമ്പും ശേഷവും ഞങ്ങൾ \free -h കമാൻഡ് പ്രവർത്തിപ്പിക്കുകയും കാഷെ പരിശോധിക്കുകയും ചെയ്യും.

ഇപ്പോൾ അത്രയേയുള്ളൂ, നിങ്ങൾക്ക് ലേഖനം ഇഷ്ടപ്പെട്ടെങ്കിൽ, ഞങ്ങളെ അറിയിക്കുന്നതിന് അഭിപ്രായങ്ങളിൽ നിങ്ങളുടെ വിലയേറിയ ഫീഡ്uബാക്ക് ഞങ്ങൾക്ക് നൽകാൻ മറക്കരുത്, പ്രൊഡക്ഷനിലും എന്റർപ്രൈസിലും റാം കാഷും ബഫറും മായ്uക്കാൻ നല്ല ആശയമാണെന്ന് നിങ്ങൾ കരുതുന്നത് എന്താണ്?