ל-Raspberry Pi כמות מוגבלת של זיכרון RAM ולא ניתן להוסיף יותר מאחר שמדובר במחשב בעל לוח יחיד. ל-Pi 3 יש רק 1GB של זיכרון RAM. ל-Pi 4, בהתאם לדגם, יש עד 8GB RAM. יישומי תוכנה דורשים לפעמים יותר זיכרון. רוב הזמן דרישת הזיכרון הזו היא זינוק קצר. כאשר זה קורה, ה-Raspberry Pi "יקפא" או "יתרסק" בגלל הזיכרון המוגבל. ההתרסקות עלולה גם להוביל לפגיעה בכרטיס ה-SD, וכתוצאה מכך לאובדן נתונים.
כדי למנוע אפשרות של קריסה, ניתן להגדיר זיכרון וירטואלי בצורה של swap ב-Pi. יש להוסיף את הכמות הנכונה שלו במכשיר הנכון כדי להפיק ממנו את המיטב. כל התהליך מוסבר באופן שיטתי עם הוראות למערכות הפעלה שונות.
הבנת איך עובד תהליך זיכרון
זיכרון RAM הוא הזיכרון הפיזי. ב-Pi 4, הוא ממוקם ליד המעבד. ב-Pi 3, זיכרון RAM ממוקם בצד התחתון של המעגל המודפס. בניגוד ללוחות אם רגילים, זיכרון RAM ב-Raspberry Pi מולחם ללוח מה שמגביל את האפשרות להגדיל את הקיבולת שלו.
כאשר יישום תוכנה מופעל, הוא משתמש בחלק של זיכרון RAM לצורך תפקודו. חשבו על דפדפן כדוגמה. כאשר דף אינטרנט נטען בכרטיסייה, הוא מאחסן את נתוני העמוד ב-RAM יחד עם הזיכרון הדרוש להפעלת תוכנית הדפדפן. כאשר נטענות יותר כרטיסיות, זיכרון ה-RAM מתמלא באותה מידה. ללא זיכרון וירטואלי, בשלב מסוים נפח ה-RAM יגמר ולא ניתן לטעון כרטיסיות חדשות כלל. גם הגלישה בכרטיסיות הקיימות תאט משמעותית מאחר ואין זיכרון פנוי לפעולות בסיסיות. בשלב זה, ה-Pi יפסיק להגיב והדרך היחידה להחזיר אותו היא באמצעות הפעלת כוח (כיבוי והדלקה).
כיבוי אקראי זה עלול לגרום לבעיות חמורות, במיוחד כאשר מערכת ההפעלה נמצאת בכרטיס ה-SD. הכרטיס עלול להינעל למצב "קריאה בלבד" או במקרה הגרוע, להיפגם לחלוטין. זה כאשר אובדן נתונים מוחלט מתרחש.
ניתן למזער את ההשפעה של מצב "חסר זיכרון (OOM)" על ידי הגדרת swap לשימוש כזיכרון וירטואלי. ניתן להגדיר Swap בצורה של קובץ או מחיצה בדיסק ומתפקד כהרחבה ל-RAM. כאשר זיכרון ה-RAM הזמין אזל, הנתונים שבהם נעשה שימוש לעתים רחוקות מועברים להחלפה בתהליך שנקרא החלפה. במקרה של דוגמה של הדפדפן, זה יהיה נתונים מטאב טעון שנעשה בו הכי פחות שימוש. כאשר הכרטיסייה תופעל שוב, נתונים אלה יועברו חזרה ל-RAM כדי להציג את דף האינטרנט.
Swap יביא יציבות לפעולות עתירות זיכרון. אם יש עלייה קצרה בצריכת הזיכרון, ההחלפה תסייע לספוג את הספייק ולשמור על תפקוד המערכת במקום להסתיים בהקפאה מוחלטת.
בחירת ההתקן הנכון להגדרת Swap
החלפה היא חיונית, אבל המיקום והגודל של ההחלפה שיש להגדיר חשובים לא פחות. באופן אידיאלי, ההחלפה חייבת להיות במכשיר מהיר. לצד המטמונים במעבד, זיכרון RAM הוא הזיכרון השני המהיר ביותר. ל-DDR4 ב-Pi יש רוחב פס של 4.4GBps (ג'יגה-בייט לשנייה). Swap צריך להיות באחד מהתקני האחסון הזמינים האחרים.
אם נעשה שימוש בכרטיס SD עבור מערכת ההפעלה, אזור החלפה קטן מוגדר בו כברירת מחדל. אתה יכול לבדוק את גודלו באמצעות הפקודה:
חופשי -מ
99MB זה לא כמות משמעותית של החלפה. זה יתמלא די מהר. לכרטיסי SD יש מחזורי כתיבה מוגבלים מכיוון שהם משתמשים בזיכרון פלאש והחלפה מוגזמת עלולה להפחית את חייהם. כמו כן, יש להם רוחב פס נמוך של בסביבות 50MBps עם ביצועי קריאה/כתיבה של קבצי 4k הרבה פחות, שחיוניים להחלפת קבצים קטנים יותר.
בכוננים קשיחים יש דיסקים מסתובבים. למרות שהם אמינים, יש להם זמני חיפוש גבוהים יותר ואינם שימושיים להחלפה.
א SSD לא יקר עבור מערכת ההפעלה היא בחירה טובה יותר. אלגוריתמי פילוס הבלאי מארגנים מחדש את הנתונים מתאי הבזק בלויים ומאריכים את חייו. ב-Pi, רוחב הפס של SSD הוא בסביבה 150MBps ובעל ביצועי קבצי 4k הרבה יותר טובים בהשוואה לכרטיסי SD. גם מהירות החיפוש טובה. אבל שימוש באותו דיסק עבור הפעלה בו-זמנית של swap וצווארי בקבוק של מערכת ההפעלה. מכיוון שהחלפה מבצעת כתיבה אינטנסיבית, הדיסק יכול להגיע ל-TBW (סה"כ כתובות בתים) מוקדם מהצפוי, במיוחד בכונני SSD בעלי קיבולת נמוכה.
באופן אידיאלי, ה-Pi צריך את מערכת ההפעלה וההחלפה שלו כדי להיות על כוננים שונים, דיסק מערכת הפעלה ו-SSD ייעודי להחלפה. זה ייתן אריכות ימים לדיסק מערכת ההפעלה ומהירות להחלפה. חוץ מזה, רוחב הפס יהיה זמין עבור שניהם בו זמנית מכיוון שהם מכשירים שונים.
כיצד להגדיר Swap במערכות הפעלה Raspberry Pi
כיצד להגדיר זאת בצורה הטובה ביותר תלוי באיזו מערכת הפעלה המכשיר שלך משתמש.
מערכת הפעלה שולחנית (Raspberry Pi OS, Ubuntu Desktop ו-Ubuntu Mate)
חבר את ה-SSD שישמש כהחלפה באמצעות א מתאם USB 3.0 ל-SATA III ולהתחיל את ה-Pi. התהליך המוצג כאן מיושם במערכת ההפעלה Raspberry Pi ואמור לעבוד באותה מידה גם במערכות ההפעלה האחרות. במקרה יש לעדכן את מערכת ההפעלה Raspberry Pi שלך, תעשה את זה.
התקן את הכלי הדרוש לניהול דיסקים באמצעות GUI
sudo apt להתקין gnome-disk-utility
לִפְתוֹחַ דיסקים מ התחל > אביזרים.
אתה יכול גם להשתמש בפקודה זו בטרמינל כדי לפתוח את הכלי:
דיסקים של gnome
פרמט את ה-SSD מהתפריט.
צור מחיצה באמצעות הפקד עם + סֵמֶל
ניתן להקצות את כל המחיצה להחלפה, אך מקסימום פי שניים מזיכרון ה-RAM יספיק.
תן שם לעוצמת הקול ובחר אַחֵר בשביל ה סוג מחיצה.
בחר מחיצת החלפה של לינוקס וליצור אותו.
אתה יכול להרכיב אותו מיד על ידי לחיצה על כפתור הבקרה עם לְשַׂחֵק סֵמֶל. הוא יעלה במהלך הפגישה הזו, אך לא יישאר באתחול מחדש. יש להגדיר אותו לעלות אוטומטית. לחץ על גלגל שיניים לשלוט ולבחור ערוך אפשרויות הר.
לְמַתֵג ברירות מחדל של הפעלת משתמש ולחץ בסדר. אימות ודיסקים יוסיפו ערך ל-/etc/fstab כדי לטעון אותו בכל אתחול.
הפעל מחדש את ה-Pi, פתח את הטרמינל ובדוק את גודל ההחלפה החדש:
חופשי -מ
הגדרה נוספת עבור מערכת ההפעלה Raspberry Pi בלבד
כעת, כשההחלפה מוגדרת על SSD, אין צורך בהחלפה הישנה. אתה יכול לכבות אותו על ידי עריכה:
sudo nano /etc/dphys-swapfile
הגדר את הפרמטר הזה לאפס:
CONF_SWAPSIZE=0
מערכת הפעלה של שרת (Ubuntu, Raspberry Pi OS)
תהליך זה מתבצע באמצעות CLI. כדי להקל, אתה יכול להכין את מחיצת ההחלפה באמצעות כלי הדיסקים במחשב אחר, ואז לחבר את ה-SSD ל-Pi ולאתחל את השרת. התחבר ל-Pi באמצעות SSH להמשיך.
מצא את מחיצת ההחלפה:
lsblk
sda1 זה. מצא את ה-UUID של מכשיר זה: sda1
blkid
העתק את UUID (ייחודי עבורך) וערוך את קובץ fstab כדי לעלות אותו אוטומטית בכל אתחול:
sudo nano /etc/fstab
הוסף את השורה הזו:
UUID=”ה-UUID שלך” אין להחליף sw 0 0
שמור, הפעל מחדש ובדוק את גודל ההחלפה:
חופשי -מ
אופטימיזציה של השימוש בזיכרון וירטואלי לצורך פעולת הוכחת קריסה
יש לנצל היטב את ההחלפה המוגדרת. זה נעשה על ידי הגדרה של פרמטר שנקרא swappiness. כדי למצוא את הערך הנוכחי:
cat proc/sys/vm/swappiness
מוגדר ל-60 כברירת מחדל, הערך מגדיר באיזו אגרסיביות הקרנל מחליף תוכן מה-RAM. ניתן להגדיר בין 1 ל-100. הערך המתאים תלוי בצורך הספציפי שלך. אם אתה רואה ש-Pi אוזל בעקביות זיכרון RAM, הגדר אותו ל-100. אם לא, הגדר אותו לערך נמוך יותר. ערוך את הקובץ הזה כדי להגדיר אותו:
sudo nano /etc/sysctl.conf
הוסף את השורה הזו בסוף:
vm.swappiness=100
אזהרות לגבי עיבוד תקורה ו-SSD TBW
הפעלת החלפה דורשת כוח עיבוד, בדרך כלל אחת מארבע הליבות ב-Pi מקדישה את עצמה להחלפה כאשר זיכרון ה-RAM מלא לחלוטין.
העצה הכללית שמסתובבת היא לא להשתמש ב-SSD להחלפה, היא נכונה למקרה שבו מערכת ההפעלה (יחד עם נתוני המשתמש) וההחלפה נמצאים על אותו דיסק. זה לא חל במקרה זה כאשר החלפה מוגדרת כפי שהוסבר כאן. למרות שה-SSD בו נעשה שימוש בסופו של דבר יחצה את TBW שלו ויכשל, ניתן פשוט להחליף אותו בחדש מכיוון שלא מאוחסנים בו נתונים חשובים בתהליך זה.
החלפת יתרון עבור ה-Pi שלך
הגדרת תצורה של החלפה נכונה היא דרך מצוינת להפוך את ה-Pi לעמיד בפני התרסקות. היציבות נובעת מהעובדה שהזיכרון הזמין הכולל הוא גורם משמעותי יותר ממהירות הזיכרון במהלך OOM. ה-Pi לא יקפא וברגע שהשימוש בספייק יורד, הוא יגיב שוב מהר יותר.
Raspberry Pi הוא מחשב זעיר עם גמישות רבה. זה יכול לשמש למטרות שונות עם מערכות הפעלה קלות משקל שונות. Pi 4 משמש היטב כתחליף למחשבים רגילים וגם מכשיר משובץ לשימוש תעשייתי שיכול לפעול 24x7.