איך להפחית את שימוש ה-RAM והמעבד ב-Linux

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

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

1. זיהוי תהליכים תופסי משאבים

השלב הראשון בהפחתת שימוש בזיכרון RAM ובמעבד CPU הוא זיהוי אילו תהליכים צורבים את רוב המשאבים על ידי השימוש בכמה כלים בשורת פקודה:

a. באמצעות פקודת top

הפקודה top מספקת תצוגה בזמן אמת של תהליכי המערכת, כולל שימוש במעבד ובזיכרון.

top
  • לחץ P כדי למיין תהליכים לפי שימוש במעבד.
  • לחץ M כדי למיין תהליכים לפי שימוש בזיכרון.
  • חפש תהליכים שצורבים משאבים יתר ושים לב למזהה התהליך שלהם (PID).
Real-Time System Process Monitoring

b. באמצעות פקודת htop

htop הוא תצוגת תהליכים אינטראקטיבית המספקת ממשק ידידותי יותר מאשר top.

כדי להתקין את htop ב-Linux, השתמש בפקודה המתאימה הבאה לפי הפצת Linux הספציפית שלך.

sudo apt install htop         [On Debian, Ubuntu and Mint]
sudo dnf install htop         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/htop  [On Gentoo Linux]
sudo apk add htop             [On Alpine Linux]
sudo pacman -S htop           [On Arch Linux]
sudo zypper install htop      [On OpenSUSE]    
sudo pkg install htop         [On FreeBSD]

הריץ את htop כדי לצפות ולנהל תהליכים בקלות.

htop
  • לחץ F6 כדי למיין תהליכים לפי שימוש במעבד או זיכרון.
  • לחץ F9 כדי לסיים תהליך שנבחר.
htop – Interactive Process Viewer

c. בשימוש בפקודת ps

ניתן להשתמש בפקודת ps כדי לרשום תהליכים ואת שימוש המשאבים שלהם.

ps aux --sort=-%mem | head  # Top memory-consuming processes
ps aux --sort=-%cpu | head  # Top CPU-consuming processes
Check Memory Consuming Processes

2. סיום תהליכים מיותרים

לאחר שזיהית תהליכים שמרבים מאוד בשימוש של משאבים, ניתן לסיים אותם כדי לשחרר משאבים באמצעות הפקודה kill עם ה-PID.

kill PID

אם התהליך לא נסגר, ניתן להשתמש בדגל -9 כדי לסיים אותו באופן כפוי.

kill -9 PID

בנוסף, ניתן להשתמש בפקודת pkill כדי לסיים תהליכים לפי שם.

pkill process_name

3. מיטוב יישומים בהפעלה

רבים מהיישומים והשירותים מתחילים אוטומטית בעת אתחול, צורכים משאבי מערכת יקרים.

כדי לנהל את היישומים המתחילים:

א. באמצעות פקודת systemctl

רשום את כל השירותים המופעלים באמצעות פקודת systemctl.

systemctl list-unit-files --type=service | grep enabled

כבוי שירותים מיותרים.

sudo systemctl disable service_name
List Enabled Services

ב. באמצעות כלים גרפיים

אם אתה משתמש בסביבת שולחן עבודה כמו GNOME או KDE, השתמש במנהל היישומים המתחילים המובנה כדי לכבול תוכניות מיותרות.

4. הפחתת Swappiness (אופטימיזציה של השימוש בזיכרון הנוסף)

Swappiness קובע כמה פעמים המערכת משתמשת בזיכרון נוסף במקום RAM. ערך גבוה של swappiness יכול להוביל להחלפות מיותרות, מה שיאט את המערכת שלך.

כדי לבדוק את ערך ה-swappiness הנוכחי:

cat /proc/sys/vm/swappiness

הערך ברירת המחדל הוא בדרך כלל 60, אך כדי להפחית את ה-swappiness עליך לערוך את הקובץ /etc/sysctl.conf.

sudo nano /etc/sysctl.conf

הוסף או שנה את השורה הבאה.

vm.swappiness=10

שמור את הקובץ והחל את השינויים.

sudo sysctl -p

5. השתמש באלטרנטיבות קלות למשאבים של שולחן עבודה

סביבות שולחן עבודה ויישומים כבדים יכולים להכביד על משאבי המערכת, לכן שקול לעבור לאלטרנטיבות קלות:

א. סביבות שולחן עבודה

החלפת GNOME או KDE עם אפשרויות קלות יותר כמו XFCE, LXDE, או MATE.

b. יישומים

השתמשו ביישומים קלים כמו:

  • עורך טקסט: החליפו LibreOffice עם AbiWord או Mousepad.
  • דפדפן אינטרנט: השתמשו ב-Firefox עם פחות הרחבות או החליפו לדפדפנים קלים כמו Midori.
  • מנהל קבצים: החליפו Nautilus עם Thunar או PCManFM.

6. ניקוי מטמון ובאפרים

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

sudo sync; sudo sysctl -w vm.drop_caches=3

פקודה זו מנקה פייג'קאש, קבצי dentries ו-inodes. יש להשתמש בה בזהירות, מאחר והיא עשויה להאט באופן זמני את גישה לקבצים.

7. כיוונון פרמטרי הקרנל

כדי לייעל או לכוון פרמטרי הקרנל, יש לערוך את קובץ /etc/sysctl.conf ולהוסיף את ההגדרות הבאות או להתאים אותן כדי לשפר ביצועים במערכת.

vm.dirty_background_ratio=5
vm.dirty_ratio=10
vm.min_free_kbytes=65536
kernel.sched_autogroup_enabled=0

ההגדרות הללו שולטות בתדירות בה נכתבים נתונים מלוכלך לדיסק, מורידות את שימוש ה-RAM.

8. ייעול שימוש בזיכרון עם ZRAM

Zram ו-Zswap הם טכנולוגיות זיכרון דחוסות שיכולות להפחית את שימוש ה-RAM.

sudo apt install zram-config 
sudo systemctl start zram-config

לאחר התקנתם, יש לערוך את קובץ התצורה של GRUB (/etc/default/grub) ולהוסיף:

GRUB_CMDLINE_LINUX_DEFAULT="zswap.enabled=1"

לעדכן את GRUB ולאתחל:

sudo update-grub
sudo reboot

9. הגבלת שימוש ב-CPU של תהליכים

אם תהליך מעמיס על המעבד המרכזי, יש להגביל את השימוש שלו באמצעות cpulimit.

sudo apt install cpulimit  # Debian/Ubuntu  
sudo yum install cpulimit  # RHEL/CentOS  

הגבלת תהליך (לדוגמה, firefox) לשימוש של 30% מהמעבד המרכזי.

sudo cpulimit -e firefox -l 30

להגביל תהליך לצמיתות, יש להשתמש ב־systemd.

sudo systemctl set-property <service_name> CPUQuota=30%

10. עדכון תקופי של המערכת שלך

שמירה על המערכת שלך מעודכנת מבטיחה שתהייה לך את השדרוגים הכי חדשים לביצועים ולתיקוני באגים.

sudo apt update && sudo apt upgrade  # For Debian/Ubuntu
sudo yum update  # For CentOS/RHEL

טיפים לאיתור ותיקון תקלות

  • אם תהליך לא נסגר באמצעות kill, יש להשתמש ב־kill -9 PID כדי לכבות אותו בכוח.
  • אם zram או zswap לא עובדים, יש לוודא שהליבה שלך תומכת בתכונות אלו.
  • אם ביצועי המערכת לא משתפרים, יש לשקול שדרוג של החומרה שלך (לדוגמה, הוספת יותר זיכרון RAM או החלפת דיסק SSD).
מסקנה

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

האם ניסית את טכניקות המיטוב האלו? שתף את הניסיון שלך בתגובות למטה או בקר ב־Tecmint.com למדריכים נוספים ומדריכי Linux.

Source:
https://www.tecmint.com/reduce-ram-cpu-usage-on-linux/