כל הזכויות שמורות לטל בן שושן – Shushan.co.il
זיכרון וירטואלי בלינוקס | Linux Swap File
ממש כמו בווינדוס , זיכרון וירטואלי הוא מצב בו נגמר למחשב הזיכרון RAM ובמקום "להיתקע" עקב חוסר בזיכרון RAM המחשב יכתוב את המידע לקובץ "זיכרון וירטואלי" שיושב בכונן C: אותו הקובץ מחקה את זיכרון RAM וכך המחשב יכול להמשיך לעבוד, אתם בטח שואלים את עצמכם, מדוע לא קונים מעט זיכרון RAM ואת השאר מאחסנים על כונן C? על הכונן הפיזי שלכם?, לגישה רנדומאלית של מידע (מסד נתונים למשל) אומרים שRAM מהיר פי 100 אלף פעם, ואילו למידע שאינו רנדומאלי המהירות היא פי 10 עד פי 20 ועכשיו הבנתם מדוע זה פתרון זמני רק בכדי שהמחשב לא יתקע לחלוטין.
הקובץ שוקל חלק מהמערכת, הוא תופס מקום בכונן נאמר שקובץ ההחלפה (Swap FIle) שוקל 4GB אז בכונן שלכם הוא יתפוס 4GB.
בלינוקס לקובץ זה קוראים Swap File ואילו בווינדוס Page FIle, זהו מדריך ללינוקס ולכן נלמד כיצד לבדוק זאת ב CentOS 7
נכנס לCentOS 7 שלנו ונקיש את הפקודה
[root@localhost ~]# free
ונקבל את פלט המידע הבא:
[root@localhost ~]# free
total used free shared buff/cache available
Mem: 3865532 151908 3533180 8804 180444 3477824
Swap: 4063228 0 4063228
ניתן לראות שיש למכונה כ3GB של RAM ובשימוש 1.5GB, כעת נעבור לשורה השניה בה ניתן לראות שיש 4GB של Swap File (כמות של 4GB של זיכרון וירטואלי) וכמה בשימוש? כרגע 0 הוא לא בשימוש כלל
כעת נקיש את הפקודה
[root@localhost ~]# swapon
NAME TYPE SIZE USED PRIO
/dev/dm-1 partition 3.9G 0B -1
נקבל את הפלט שבה ניתן לראות שיש מחיצה שגודלה 3.9GB (לפי הפקודה הקודמת זה כמובן 4GB).
כעת הוספתם למערכת שלכם 16GB של RAM, המערכת לא תשנה לבד את כמות ה Swap FIle ולכן יש צורך לשנות, הנוסחה זה כפול 1.5 זאת אומרת 16GB * 1.5 וקובץ ההחלפה שאנו צריכים יהיה בגודל 24GB
נקיש את הפקודה
[root@localhost ~]# dd if=/dev/zero of=/swapfile bs=1M count=24000
ה24 אלף הוא למעשה 24GB , הקובץ שיווצר יהיה בנפח 24GB (כמובן לבדוק שיש לכם את נפח הדיסק פנוי)
נקיש את הפקודה
[root@localhost ~]# ls -l /
ונקבל את פלט עם רשימת קבצים, אנו נחפש את הקובץ הבא:
-rw-r--r--. 1 root root 254544217728 Aug 12 05:48 swapfile
זהו קובץ ההחלפה שלנו ששוקל 24GB, כעת אנחנו צריכים להגדיר אותו למערכת ההפעלה
נקיש את הפקודה, פקודה זו תוסיף מידע לקובץ ההחלפה שדרוש על מנת שהוא יהיה קובץ כזה.
[root@localhost ~]# mkswap /swapfile
כעת נקיש את הפקודה
[root@localhost ~]# swapon /swapfile
נשנה את הרשאות הקובץ
[root@localhost ~]# chmod -R 600 /swapfile
כעת יש לנו 2 קבצי החלפה
[root@localhost ~]# swapon NAME TYPE SIZE USED PRIO /dev/dm-1 partition 3.9G 0B -1 /swapfile file 24GB 0B -2
נמחק את הישן על ידי הפקודה
[root@localhost ~]# swapoff /dev/dm-1
כעת הקישו
[root@localhost ~]# swapon NAME TYPE SIZE USED PRIO /swapfile file 24GB 0B -2
כעת ניתן לראות שקובץ ההחלפה שיצרנו הוא בגודל 24GB