ഉബുണ്ടുവിൽ സ്വാപ്പ് സ്പേസ് എങ്ങനെ ചേർക്കാം


നിങ്ങളുടെ സെർവറിൽ കുറച്ച് സ്വാപ്പ് വലുപ്പം വർദ്ധിപ്പിക്കുക എന്നതാണ് ആപ്ലിക്കേഷനുകളിലെ മെമ്മറി പ്രശ്uനങ്ങൾക്കെതിരെ കാണാനുള്ള ഏറ്റവും ലളിതമായ മാർഗ്ഗങ്ങളിലൊന്ന്. ഈ ലേഖനത്തിൽ, ഒരു ഉബുണ്ടു സെർവറിലേക്ക് ഒരു സ്വാപ്പ് ഫയൽ എങ്ങനെ ചേർക്കാമെന്ന് ഞങ്ങൾ വിശദീകരിക്കും.

ഘട്ടം 1: സ്വാപ്പ് വിവരങ്ങൾ പരിശോധിക്കുന്നു

ഞങ്ങൾ ആരംഭിക്കുന്നതിന് മുമ്പ്, താഴെ പറയുന്ന കമാൻഡ് പ്രവർത്തിപ്പിച്ച് സിസ്റ്റത്തിന് ഇതിനകം സ്വാപ്പ് സ്പേസ് ലഭ്യമാണോയെന്ന് പരിശോധിക്കുക.

$ sudo swapon --show

നിങ്ങൾ ഒരു ഔട്ട്uപുട്ടും കാണുന്നില്ലെങ്കിൽ, അതിനർത്ഥം നിങ്ങളുടെ സിസ്റ്റത്തിന് നിലവിൽ സ്വാപ്പ് സ്പേസ് ലഭ്യമല്ല എന്നാണ്.

ഫ്രീ കമാൻഡ് ഉപയോഗിച്ച് സ്വാപ്പ് സ്പേസ് ലഭ്യമല്ലെന്ന് നിങ്ങൾക്ക് സ്ഥിരീകരിക്കാനും കഴിയും.

$ free -h

സിസ്റ്റത്തിൽ സജീവമായ സ്വാപ്പ് ഇല്ലെന്ന് മുകളിലെ ഔട്ട്പുട്ടിൽ നിന്ന് നിങ്ങൾക്ക് കാണാൻ കഴിയും.

ഘട്ടം 2: പാർട്ടീഷനിൽ ലഭ്യമായ സ്ഥലം പരിശോധിക്കുന്നു

ഒരു സ്വാപ്പ് സ്uപെയ്uസ് സൃഷ്uടിക്കുന്നതിന്, ആദ്യം, നിങ്ങളുടെ നിലവിലെ ഡിസ്uക് ഉപയോഗം പരിശോധിച്ച് സിസ്റ്റത്തിൽ ഒരു സ്വാപ്പ് ഫയൽ സൃഷ്uടിക്കുന്നതിന് മതിയായ ഇടമുണ്ടെന്ന് സ്ഥിരീകരിക്കേണ്ടതുണ്ട്.

$ df -h

/ ഉള്ള പാർട്ടീഷനിൽ ഒരു സ്വാപ്പ് ഫയൽ സൃഷ്ടിക്കാൻ മതിയായ ഇടമുണ്ട്.

ഘട്ടം 3: ഉബുണ്ടുവിൽ ഒരു സ്വാപ്പ് ഫയൽ സൃഷ്ടിക്കുന്നു

ഇപ്പോൾ ഞങ്ങൾ 1GB വലുപ്പമുള്ള ഫാലോക്കേറ്റ് കമാൻഡ് ഉപയോഗിച്ച് ഞങ്ങളുടെ ഉബുണ്ടു root (/) ഡയറക്uടറിയിൽ \swap.img\ എന്ന പേരിൽ ഒരു സ്വാപ്പ് ഫയൽ സൃഷ്ടിക്കും (നിങ്ങൾക്ക് ക്രമീകരിക്കാവുന്നതാണ്. നിങ്ങളുടെ ആവശ്യങ്ങൾക്കനുസരിച്ച് വലുപ്പം) കൂടാതെ കാണിച്ചിരിക്കുന്നതുപോലെ ls കമാൻഡ് ഉപയോഗിച്ച് സ്വാപ്പിന്റെ വലുപ്പം പരിശോധിക്കുക.

$ sudo fallocate -l 1G /swap.img
$ ls -lh /swap.img

മുകളിലെ ഔട്ട്uപുട്ടിൽ നിന്ന്, ഞങ്ങൾ സ്വാപ്പ് ഫയൽ സൃഷ്uടിച്ചിരിക്കുന്നത് ശരിയായ സ്uപെയ്uസ് അതായത് 1 ജിബി ഉപയോഗിച്ചാണെന്ന് നിങ്ങൾക്ക് കാണാൻ കഴിയും.

ഘട്ടം 4: ഉബുണ്ടുവിൽ സ്വാപ്പ് ഫയൽ പ്രവർത്തനക്ഷമമാക്കുന്നു

ഉബുണ്ടുവിൽ സ്വാപ്പ് ഫയൽ പ്രവർത്തനക്ഷമമാക്കുന്നതിന്, ആദ്യം നിങ്ങൾ ഫയലിൽ ശരിയായ അനുമതികൾ സജ്ജീകരിക്കേണ്ടതുണ്ട്, അതുവഴി root ഉപയോക്താവിന് മാത്രമേ ഫയലിലേക്ക് ആക്സസ് ലഭിക്കൂ.

$ sudo chmod 600 /swap.img
$ ls -lh /swap.img

മുകളിലെ ഔട്ട്uപുട്ടിൽ നിന്ന്, root ഉപയോക്താവിന് മാത്രമേ വായിക്കാനും എഴുതാനും അനുമതിയുള്ളൂ എന്ന് നിങ്ങൾക്ക് കാണാൻ കഴിയും.

ഫയലിനെ സ്വാപ്പ് സ്uപെയ്uസായി അടയാളപ്പെടുത്തുന്നതിന് ഇപ്പോൾ ഇനിപ്പറയുന്ന കമാൻഡുകൾ പ്രവർത്തിപ്പിക്കുക, കൂടാതെ സിസ്റ്റത്തിൽ അത് ഉപയോഗിക്കാൻ ആരംഭിക്കുന്നതിന് സ്വാപ്പ് ഫയൽ പ്രവർത്തനക്ഷമമാക്കുക.

$ sudo mkswap /swap.img
$ sudo swapon /swap.img

ഇനിപ്പറയുന്ന കമാൻഡുകൾ പ്രവർത്തിപ്പിച്ച് സ്വാപ്പ് സ്പേസ് ലഭ്യമാണോയെന്ന് പരിശോധിക്കുക.

$ sudo swapon --show
$ free -h

മുകളിലുള്ള ഔട്ട്uപുട്ടിൽ നിന്ന്, ഞങ്ങളുടെ പുതിയ സ്വാപ്പ് ഫയൽ വിജയകരമായി സൃഷ്ടിച്ചുവെന്നും ഞങ്ങളുടെ ഉബുണ്ടു സിസ്റ്റം ആവശ്യാനുസരണം അത് ഉപയോഗിക്കാൻ തുടങ്ങുമെന്നും വ്യക്തമാണ്.

ഘട്ടം 5: ഉബുണ്ടുവിൽ സ്വാപ്പ് ഫയൽ പെർമനന്റ് മൗണ്ട് ചെയ്യുക

സ്വാപ്പ് സ്പേസ് ശാശ്വതമാക്കുന്നതിന്, നിങ്ങൾ /etc/fstab ഫയലിൽ സ്വാപ്പ് ഫയൽ വിവരങ്ങൾ ചേർക്കുകയും ഇനിപ്പറയുന്ന കമാൻഡുകൾ പ്രവർത്തിപ്പിച്ച് അത് സ്ഥിരീകരിക്കുകയും വേണം.

$ echo '/swap.img none swap sw 0 0' | sudo tee -a /etc/fstab
$ cat /etc/fstab

ഘട്ടം 6: ഉബുണ്ടുവിൽ സ്വാപ്പ് ക്രമീകരണങ്ങൾ ട്യൂണിംഗ് ചെയ്യുക

സ്വാപ്പ് ഉപയോഗിക്കുമ്പോൾ നിങ്ങളുടെ ഉബുണ്ടുവിന്റെ പ്രകടനത്തെ സ്വാധീനിക്കുന്ന കുറച്ച് ക്രമീകരണങ്ങൾ നിങ്ങൾ ക്രമീകരിക്കേണ്ടതുണ്ട്.

Swappiness എന്നത് ഒരു ലിനക്സ് കേർണൽ പാരാമീറ്ററാണ്, നിങ്ങളുടെ സിസ്റ്റം RAM-ൽ നിന്ന് സ്വാപ്പ് സ്uപെയ്uസിലേക്ക് ഡാറ്റ എത്രത്തോളം (എത്ര ഇടവിട്ട്) സ്വാപ്പ് ചെയ്യുന്നു എന്ന് വ്യക്തമാക്കുന്നു. ഈ പരാമീറ്ററിന്റെ സ്ഥിര മൂല്യം 60 ആണ്, ഇതിന് 0 മുതൽ 100 വരെ എന്തും ഉപയോഗിക്കാം. മൂല്യം കൂടുന്തോറും കേർണലിന്റെ സ്വാപ്പ് സ്uപെയ്uസിന്റെ ഉപയോഗം കൂടും.

ആദ്യം, ഇനിപ്പറയുന്ന കമാൻഡ് ടൈപ്പ് ചെയ്തുകൊണ്ട് നിലവിലെ സ്വാപ്പിനസ് മൂല്യം പരിശോധിക്കുക.

$ cat /proc/sys/vm/swappiness

ഡെസ്uക്uടോപ്പ് ഉപയോഗത്തിന് 60 എന്ന നിലവിലെ സ്വാപ്പിനസ് മൂല്യം അനുയോജ്യമാണ്, എന്നാൽ ഒരു സെർവറിന്, നിങ്ങൾ അത് താഴ്ന്ന മൂല്യത്തിലേക്ക് അതായത് 10 ആയി സജ്ജീകരിക്കണം.

$ sudo sysctl vm.swappiness=10

ഈ ക്രമീകരണം ശാശ്വതമാക്കുന്നതിന്, നിങ്ങൾ /etc/sysctl.conf ഫയലിലേക്ക് ഇനിപ്പറയുന്ന വരി ചേർക്കേണ്ടതുണ്ട്.

vm.swappiness=10

നിങ്ങൾ മാറ്റാൻ ആഗ്രഹിക്കുന്ന സമാനമായ മറ്റൊരു ക്രമീകരണം vfs_cache_pressure ആണ് - മറ്റ് ഡാറ്റയിൽ ഐനോഡും ഡെൻട്രി വിശദാംശങ്ങളും കാഷെ ചെയ്യാൻ സിസ്റ്റം എത്രത്തോളം ആഗ്രഹിക്കുന്നുവെന്ന് ഈ ക്രമീകരണം വ്യക്തമാക്കുന്നു.

പ്രോക് ഫയൽസിസ്റ്റം അന്വേഷിച്ചുകൊണ്ട് നിങ്ങൾക്ക് നിലവിലെ മൂല്യം പരിശോധിക്കാം.

$ cat /proc/sys/vm/vfs_cache_pressure

നിലവിലെ മൂല്യം 100 ആയി സജ്ജീകരിച്ചിരിക്കുന്നു, അതിനർത്ഥം ഞങ്ങളുടെ സിസ്റ്റം കാഷെയിൽ നിന്ന് ഐനോഡ് വിവരങ്ങൾ വളരെ വേഗത്തിൽ നീക്കംചെയ്യുന്നു എന്നാണ്. ഞങ്ങൾ ഇത് 50 പോലെയുള്ള കൂടുതൽ സ്ഥിരതയുള്ള ക്രമീകരണത്തിലേക്ക് സജ്ജമാക്കണമെന്ന് ഞാൻ നിർദ്ദേശിക്കുന്നു.

$ sudo sysctl vm.vfs_cache_pressure=50

ഈ ക്രമീകരണം ശാശ്വതമാക്കുന്നതിന്, നിങ്ങൾ /etc/sysctl.conf ഫയലിലേക്ക് ഇനിപ്പറയുന്ന വരി ചേർക്കേണ്ടതുണ്ട്.

vm.vfs_cache_pressure=50

നിങ്ങൾ പൂർത്തിയാക്കുമ്പോൾ ഫയൽ സംരക്ഷിച്ച് അടയ്ക്കുക.

ഘട്ടം 7: ഉബുണ്ടുവിൽ ഒരു സ്വാപ്പ് ഫയൽ നീക്കംചെയ്യുന്നു

പുതുതായി സൃഷ്ടിച്ച സ്വാപ്പ് ഫയൽ നീക്കം ചെയ്യാനോ ഇല്ലാതാക്കാനോ, ഇനിപ്പറയുന്ന കമാൻഡുകൾ പ്രവർത്തിപ്പിക്കുക.

$ sudo swapoff -v /swap.img
$ sudo rm -rf /swap.img

അവസാനമായി, /etc/fstab ഫയലിൽ നിന്ന് സ്വാപ്പ് ഫയൽ എൻട്രി ഇല്ലാതാക്കുക.

അത്രയേയുള്ളൂ! ഈ ലേഖനത്തിൽ, നിങ്ങളുടെ ഉബുണ്ടു വിതരണത്തിൽ ഒരു സ്വാപ്പ് ഫയൽ എങ്ങനെ സൃഷ്ടിക്കാമെന്ന് ഞങ്ങൾ വിശദീകരിച്ചിട്ടുണ്ട്. ഈ ലേഖനത്തെക്കുറിച്ച് നിങ്ങൾക്ക് എന്തെങ്കിലും ചോദ്യങ്ങളുണ്ടെങ്കിൽ, ചുവടെയുള്ള അഭിപ്രായ വിഭാഗത്തിൽ നിങ്ങളുടെ ചോദ്യങ്ങൾ ചോദിക്കാൻ മടിക്കേണ്ടതില്ല.