كيفية تقليل استخدام ذاكرة الوصول العشوائي ووحدة المعالجة المركزية على نظام التشغيل Linux

لينكس هو نظام تشغيل قوي وفعال، ولكن ارتفاع استخدام الذاكرة العشوائية ووحدة المعالجة المركزية يمكن أن يؤدي إلى تدهور الأداء، وبطء التطبيقات، وحتى يمكن أن يتسبب في تعطل النظام عند تشغيل خادم أو محطة عمل أو نظام مضمن، وبالتالي فإن تحسين استخدام الموارد أمر أساسي لضمان التشغيل السلس.

في هذا الدليل، سنستكشف الطرق العملية لتقليل استخدام الذاكرة العشوائية ووحدة المعالجة المركزية على لينكس. سنغطي أدوات المراقبة، إدارة العمليات، تعديلات النواة، وتقنيات تحسين النظام للحفاظ على تشغيل النظام بكفاءة.

1. تحديد العمليات الجائعة للموارد

الخطوة الأولى في تقليل استخدام الذاكرة العشوائية ووحدة المعالجة المركزية هي تحديد العمليات التي تستهلك أكبر قدر من الموارد باستخدام عدة أدوات سطر الأوامر:

أ. باستخدام أمر top

يوفر أمر top عرضًا في الوقت الحقيقي لعمليات النظام، بما في ذلك استخدام وحدة المعالجة المركزية والذاكرة.

top
  • اضغط P لفرز العمليات حسب استخدام وحدة المعالجة المركزية.
  • اضغط M لفرز العمليات حسب استخدام الذاكرة.
  • ابحث عن العمليات التي تستهلك موارد بشكل مفرط ولاحظ معرف العملية (PID).
Real-Time System Process Monitoring

ب. باستخدام أمر htop

htop هو عارض عمليات تفاعلي يوفر واجهة أكثر ودية من top.

لتثبيت htop على نظام 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

استخدام أمر 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

ب. باستخدام أدوات واجهة المستخدم الرسومية (GUI)

إذا كنت تستخدم بيئة سطح مكتب مثل GNOME أو KDE، استخدم مدير تطبيقات بدء التشغيل المدمج لـ تعطيل البرامج غير الضرورية.

4. تقليل معدل الاستبدال (تحسين استخدام التبديل)

يتحكم معدل الاستبدال في كيفية استخدام النظام لمساحة التبديل بدلاً من الذاكرة العشوائية (RAM). قيمة معدل الاستبدال العالية يمكن أن تؤدي إلى التبديل الزائد، مما يبطئ النظام.

للتحقق من قيمة معدل الاستبدال الحالية:

cat /proc/sys/vm/swappiness

القيمة الافتراضية عادةً ما تكون 60، ولكن لتقليل معدل الاستبدال تحتاج إلى تحرير ملف /etc/sysctl.conf.

sudo nano /etc/sysctl.conf

أضف أو عدّل السطر التالي.

vm.swappiness=10

احفظ الملف وقم بتطبيق التغييرات.

sudo sysctl -p

5. استخدم بدائل سطح مكتب خفيفة الوزن

يمكن أن تجهد بيئات سطح المكتب الثقيلة والتطبيقات موارد النظام، لذا انظر في الانتقال إلى بدائل خفيفة الوزن:

أ. بيئات سطح المكتب

استبدل GNOME أو KDE بخيارات أخف مثل XFCE, LXDE, أو MATE.

ت. التطبيقات

استخدم تطبيقات خفيفة مثل:

  • محرر النصوص: استبدل LibreOffice بـ AbiWord أو Mousepad.
  • متصفح الويب: استخدم Firefox بتوسيعات أقل أو انتقل إلى متصفحات خفيفة مثل Midori.
  • مدير الملفات: استبدل Nautilus بـ Thunar أو PCManFM.

6. مسح ذاكرة التخزين المؤقت والمخازن

يستخدم Linux ذاكرة الوصول العشوائي لتخزين الملفات وتحسين الأداء. ومع ذلك، يمكنك مسح الذاكرة المؤقتة يدويًا إذا لزم الأمر:

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

تسمح هذه الأمر بمسح pagecache و 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

تتحكم هذه الإعدادات في تردد كتابة البيانات القذرة على القرص، مما يقلل من استخدام ذاكرة الوصول العشوائي.

8. تقليل استخدام الذاكرة باستخدام ZRAM

تقنيات Zram و Zswap هي تقنيات ضغط الذاكرة يمكن أن تقلل من استخدام ذاكرة الوصول العشوائي.

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. تقييد استخدام وحدة المعالجة المركزية للعمليات

إذا كانت عملية تستهلك وحدة المعالجة المركزية بشكل كبير، قم بتقييد استخدامها باستخدام 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، تأكد من أن نواة النظام الخاص بك تدعم هذه الميزات.
  • إذا لم يتحسن أداء النظام، فكر في ترقية الأجهزة الخاصة بك (على سبيل المثال، إضافة المزيد من الذاكرة أو التبديل إلى SSD).
الختام

تحسين استخدام الذاكرة ووحدة المعالجة المركزية على نظام Linux هو مزيج من المراقبة والضبط وأحيانًا ترقية الأجهزة. من خلال تحديد العمليات التي تستهلك الموارد، وضبط إعدادات النظام، واختيار البدائل الخفيفة، يمكنك إعادة الحيوية إلى نظامك.

هل جربت هذه التقنيات لتحسين الأداء؟ شارك تجربتك في التعليقات أدناه أو قم بزيارة Tecmint.com لمزيد من الدلائل والبرامج التعليمية حول نظام Linux.

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