השתמש ב-Zswap כדי לשפר את הביצועים במחשב עם זיכרון RAM נמוך בלינוקס

Utilizați Zswap pentru a îmbunătăți performanța pe computerul Linux cu cantități mici de RAM
⏱️ 1 min read

בואו נודה בזה, חלקנו לא מעדכנים לעתים קרובות. או לפחות כמשתמשי לינוקס אנחנו אוהבים לעשות שימוש חוזר במחשבים הניידים/מחשבים הישנים שלנו. הפצות רבות פועלות בנוחות על מערכות עם מעט זיכרון RAM (זיכרון גישה אקראית). דפדפנים, לעומת זאת, אינם סלחניים, ודורשים יותר ויותר זיכרון ככל שהאינטרנט מתפתח.

בעוד שמערכת עם סביבת שולחן העבודה LXDE יכולה לתפוס עד 150MB של זיכרון RAM לאחר האתחול, Chromium, Chrome או Firefox יצרכו במהירות מאות מגה-בייט ואפילו כמה ג’יגה-בייט של זיכרון RAM כשאנחנו פותחים כמה כרטיסיות.

וכאן זה קורה! הכונן הקשיח מתחיל להשמיע את הצליל המחץ הזה. המוזיקה מתחילה לגמגם. כשאנחנו עוברים לאפליקציה אחרת, לוקח עשרות שניות עד שהיא מופיעה על המסך. אפילו סמן העכבר יכול להתחיל להאט. זו ההשפעה של פיצול דיסק.

מה זה מחיקת דיסק?

ראשית, עלינו להבין את חילופי הדברים. כשנגמר לנו זיכרון ה-RAM הפנוי, נתוני האפליקציה שמערכת ההפעלה לא ניגשה אליהם במשך זמן רב מועברים לאזור ההחלפה. זה בדרך כלל בהתקן אחסון פיזי. על ידי כך, מערכת ההפעלה יכולה לפנות שטח זיכרון שתוכנית צריכה כעת. בדרך זו, ניתן להעביר לשונית בדפדפן שלנו שלא ניגשנו אליה בשעה האחרונה לכונן הקשיח. כעת ניתן להפעיל את עורך התמונות של GIMP. כשנסגור אותו ונחזור ללשונית הישנה, ​​מערכת ההפעלה מחליפה אותו בחזרה לזיכרון (קוראת אותו מהדיסק ומעתיקה אותו בחזרה לזיכרון גישה אקראית).

מנגנון זה עובד היטב בעת החלפת כמויות קטנות של נתונים. אבל כאשר, נגיד, רק 2GB של זיכרון RAM זמין וכל התוכניות שיש לנו פתוחות זקוקות ל-4GB, מערכת ההפעלה צריכה להשתנות כל הזמן. העברת נתונים מזיכרון לדיסק, מדיסק לזיכרון ולהיפך כל הזמן הוא איטי מאוד, במיוחד עם כוננים קשיחים. במצב כזה, התקן האחסון אינו מסוגל למלא בקשות מספיק מהר. בקיצור, כאשר מתרחש פיצול דיסק, הדברים נעשים איטיים מאוד.

כונני SSD מצוינים להחלפה

יש עדיין מיתוס שמסתובב באינטרנט: “לעולם אל תגדיר swap על SSD. זה יהרוג את המכשיר שלך! זה היה נכון לפני כמה שנים, אבל כבר לא. למעשה, הגדרת החלפה בכונן SSD מובילה לתוצאות מצוינות. אם המחשב שלך כולל התקן SSD עם ביצועי קריאה/כתיבה אקראיים טובים (לפחות 300MB), הגדר עליו מחיצת החלפה ודלג על שאר מאמר זה. כאשר מערכת ההפעלה צריכה להחליף 1GB של נתונים, זה לוקח פחות מחמש שניות, בעוד שבכונן קשיח זה לוקח יותר מדקה.

כיצד להפחית משמעותית את תקרת הדיסק בלינוקס

zswap-meme-compress-ram

למרבה המזל, רוב הנתונים המאוחסנים ב-RAM ניתנים לדחיסה. המשמעות היא שאם ניקח 200 מגה-בייט של נתונים המאוחסנים בזיכרון ונדחוס אותם, נוכל להקטין את הגודל ל-100 מגה-בייט. כתוצאה מכך, המשמעות היא שהמערכת תצטרך לכתוב הרבה פחות נתונים לדיסק במהלך ההחלפה.

תאר לעצמך שבמקום לחכות שלושים שניות כדי לעבור לתוכנית, היית צריך לחכות חמש עשרה. זה שיפור מורגש. אבל למעשה התאוצה הרבה יותר משמעותית (ייתכן שתצטרך לחכות פחות מעשר שניות) כי הכלי בו נשתמש יותר מתוחכם מזה. הוא שולח בצורה חכמה רק את הסיביות והחתיכות שלא ניתן לדחוס לדיסק, ושומר את השאר בחלק שמור של הזיכרון. אם אתה רוצה לקרוא עוד על המתמחים שלך, בדוק את דף ליבת לינוקס רשמי על zswap.

גרסה פשוטה של ​​היתרונות שאנו מקבלים עם zswap היא שבמקום האטות איומות כשנגמר לנו הזיכרון, אנו מקבלים האטות קלות ונסבלות שנמשכות שניות במקום עשרות שניות או אפילו דקות.

כיצד להפעיל את zswap בהפצות מבוססות דביאן (אובונטו, Linux Mint וכו’)

פתח יישום מסוף והפעל את הפקודה הזו כדי לערוך את קובץ התצורה של תבנית האתחול Grub:

zswap-edit-grub-template-config

בעזרת מקשי הסמן, נווט אל השורה שמתחילה ב-“GRUB_CMDLINE_LINUX_DEFAULT”. בין הציטוטים, הוסף את הטקסט הבא:

zswap-edition-grub-template-config-2

למשל, קו שהיה GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" הופך GRUB_CMDLINE_LINUX_DEFAULT="quiet splash zswap.enabled=1".

לשמירת הקובץ, לחץ על Ctrl + איקסאחריו “y” ולאחר מכן Enter.

צור את קובצי התצורה החדשים של Grub לפי התבנית שערכנו קודם לכן:

zswap-update-grub-endd

אתחל מחדש ומודול zswap יופעל אוטומטית.

כיצד להפעיל zswap ב-Fedora ו-OpenSUSE

ההליך כאן דומה לסעיף הקודם, אך עם כמה וריאציות. ערוך את קובץ התצורה של תבנית Grub.

לְהוֹסִיף zswap.enabled=1 בתוך המירכאות, בשורה שמתחילה ב GRUB_CMDLINE_LINUX.

zswap-edition-grub-template-fedora

ללחוץ Ctrl + איקסואחריו “y” ולאחר מכן Enter כדי לשמור את הקובץ.

תלוי אם המחשב שלך מאתחל ממערכת BIOS או UEFI, קובץ התצורה של Grub נוצר בנתיב אחר. כדי לגלות היכן הוא שוכן כעת, הקלד את הפקודה הבאה:

zswap-find-grub-cfg-on-fedora

השתמש בנתיב שנוצר כאן בפקודה הבאה. לדוגמה, במקרה שלנו, הנתיב שנמצא היה “/boot/grub2/grub.cfg”, אז נוסיף אותו בסוף הפקודה הבאה אחרי “-o”:

לאתחל את המחשב. לאחר הפעלה מחדש, ודא שהמודול פעיל:

אם הפלט הוא “Y”, המודול פועל כהלכה.

כיצד להפעיל zswap ב- Arch Linux

התקן את חבילת systemd-swap:

zswap-pacman-install-systemd-swap

הפוך את החבילה הזו לעבוד בצורה מושלמת בזמן האתחול:

התחל עכשיו, מבלי להפעיל מחדש:

כדי לוודא שהכל עבד כמצופה, ודא שמודול zswap מופעל:

zswap-enable-systemd-swap-service

אם הפלט הוא “Y”, זה אומר שהמודול פעיל.

כיצד לאפשר zswap בהפצות שונות

באופן כללי, הפעלת zswap בזמן האתחול קלה כמו הוספה zswap.enabled=1 לפרמטרים של הליבה. רוב ההפצות משתמשות ב- Grub2 כמטען האתחול שלהם כברירת מחדל. אם אתה משתמש בטוען אתחול אחר, מצא את קובץ התצורה שבו הוא מאחסן את פרמטרי הליבה כדי לעבור בזמן האתחול והוסף zswap.enabled=1 כפרמטר נוסף.

פרמטר נוסף שאתה יכול לשחק איתו כדי לגלות אם הוא משפר את הביצועים עבור מקרה השימוש הספציפי שלך הוא zswap.max_pool_percent=20. אתה יכול להתאים אותו על ידי שינוי המספר בסוף: לדוגמה, zswap.max_pool_percent=50.

הוסף אותו לאותם פרמטרי ליבה שבהם אתה מוסיף zswap.enabled=1. מומלץ לא לחרוג מ-50%, שכן ליותר מזה עלולות להיות השפעות מזיקות על מערכות עם זיכרון RAM נמוך.

סיכום

אם תכופות נגמר לך זיכרון ה-RAM במערכת הישנה שלך וחווית את ההשפעות המעצבנות של עומס יתר בדיסק, מיד תבחין ותעריך את ההבדל מעתה ואילך. במקום האטות איומות, תחווה עיכוב בינוני וזמני שנמשך כמה שניות (במקום דקות) כאשר מערכת ההפעלה צריכה להחליף הרבה נתונים לדיסק. תוכל להמשיך לעבוד במצבים שבהם לא הצלחת בעבר להשתמש במחשב בזמן המעבר.

How useful was this post?

Click on a star to rate it!

Average rating 0 / 5. Vote count: 0

No votes so far! Be the first to rate this post.

You may also like...