حمّل لعبة FlightGear مجاناً: دليل التثبيت الرسمي
حمّل برنامج FlightGear مجاناً من الموقع الرسمي. قارن بين حزم Windows و macOS و Linux، وثبّت ملفات البيانات، وابدأ رحلتك الأولى.
في أوبونتو، الطريقة الأكثر أمانًا لتقييد حجم العمل باستخدام مجموعات التحكم (cgroups) هي السماح لـ systemd بإنشاء وإدارة مجموعة التحكم الخاصة بها. استخدم systemd-runهذه الطريقة مع الأوامر التي تُشغّلها حاليًا، أو قم بتهيئة خدمة systemd عندما يكون من الضروري استمرار الحد بعد إعادة التشغيل. حدد CPUQuota=حدًا أقصى صارمًا لوقت وحدة المعالجة المركزية، واختر بين خيارين MemoryHigh=للتحكم في الضغط MemoryMax=وحدود الذاكرة الصارمة. تُطبّق هذه الحدود على الوحدة وعملياتها الفرعية معًا.
مجموعة التحكم (cgroup) هي آلية في نواة لينكس تُنظّم العمليات بحيث يتمكن النظام من حساب استخدام الموارد والتحكم فيه. يقوم نظام systemd في أوبونتو تلقائيًا بوضع الخدمات في مجموعات تحكم، لذا لا يحتاج معظم المستخدمين إلى إنشاء مجلدات /sys/fs/cgroupيدويًا. تستخدم الأمثلة أدناه واجهة التحكم في الموارد الخاصة بنظام systemd، ويجب التحقق منها ومطابقتها مع إصدار systemd المُثبّت على إصدار أوبونتو الخاص بك.

| طريقة | ما الذي يتحكم فيه | الأنسب | المقايضة الرئيسية |
|---|---|---|---|
systemd-runنطاق عابر | حصة وحدة المعالجة المركزية وحدود الذاكرة لأمر تم إطلاقه حديثًا والأمور التابعة له | عملية بناء أو كتابة نص برمجي أو استيراد أو مهمة دفعية لمرة واحدة | النطاق مؤقت وينتهي مع عبء العمل؛ فهو لا يرتبط بعملية عشوائية قيد التشغيل بالفعل. |
| إعدادات خدمة systemd | موارد مجموعة التحكم الخاصة بالخدمة، بما في ذلك العمليات الفرعية | برنامج أو تطبيق يجب أن يحتفظ بنفس الحدود بعد إعادة التشغيل | يتطلب الأمر تهيئة الخدمة، وعادةً ما يتطلب إعادة تشغيل لتطبيق الإعدادات الجديدة. |
| ملفات cgroup v2 المباشرة | وحدات التحكم على مستوى النواة مثل cpu.maxوmemory.max | أوقات تشغيل الحاويات، أو مديري مجموعات التحكم المفوضين، أو الإدارة المتخصصة | المزيد من العمل اليدوي؛ يمتلك systemd جزءًا كبيرًا من التسلسل الهرمي لنظام Ubuntu، ويمكن أن تتعارض الكتابة في شجرته المُدارة مع systemd أو تفشل بسبب الأذونات والتفويض. |
niceأوCPUWeight= | أولوية وحدة المعالجة المركزية النسبية عند تنافس المجموعات | إبقاء العمليات التي تعمل في الخلفية ذات أولوية منخفضة مع السماح لها باستخدام وحدة المعالجة المركزية الخاملة | هذا ليس حدًا أقصى صارمًا لوحدة المعالجة المركزية ولا يحد من الذاكرة. |
بالنسبة لمعظم أجهزة أوبونتو التفاعلية، يُعد النطاق المؤقت الخيار الأسرع والأكثر قابلية للعكس. أما بالنسبة لخدمة الإنتاج، فيُفضل استخدام وحدة الخدمة لتوثيق السياسة واستعادتها عند بدء التشغيل. استخدم ملفات cgroup المباشرة فقط عند إدارة تسلسل هرمي مُفوض أو بناء سير عمل حاوية/وقت تشغيل.
تحقق أولاً من توفر systemd وما إذا كان نظام ملفات cgroup موحدًا الإصدار 2:
systemctl --version
stat -fc %T /sys/fs/cgroup
تشير نتيجة cgroup2fsالأمر الثاني إلى نظام ملفات cgroup الموحد الإصدار الثاني. قد تختلف إصدارات أوبونتو والأنظمة المُخصصة، لذا لا تفترض أن جميع الأجهزة لها نفس التسلسل الهرمي أو ميزات systemd. يمكنك أيضًا فحص إصدار systemd الحالي باستخدام الأمر الأول. إذا لم يكن تركيب cgroup هو الإصدار الثاني، فقد تختلف بعض خصائص الموارد أو سلوك وحدة التحكم؛ راجع صفحة دليل أوبونتو للإصدار المُثبّت قبل نسخ أي تكوين.
اختر القيم بعد قياس حجم العمل. اترك مساحة لبقية النظام، وتذكر أن الحدود المفروضة على خدمة المستخدم تخضع أيضًا لأي قيود مفروضة على الشريحة الأصلية. لا يمكن لمجموعة تحكم فرعية الحصول على موارد أكثر مما تسمح به المجموعة الأصلية.
لتشغيل أمر في جلسة المستخدم الخاصة بك، قم بتشغيله في نطاق مؤقت باستخدام systemd-run --user --scope. على سبيل المثال:

systemd-run --user --scope --unit=worker-capped \
-p CPUQuota=50% \
-p MemoryHigh=700M \
-p MemoryMax=900M \
-- python3 /opt/worker.py
استبدل أمر بايثون بالبرنامج الذي تحتاج لتشغيله فعليًا. يمنح هذا المثال مجموعة التحكم (cgroup) عرض نطاق ترددي أقصى لوحدة المعالجة المركزية يعادل نصف وحدة معالجة مركزية واحدة، ويبدأ معالجة ضغط الذاكرة عند حوالي 700 ميجابايت، ويحدد حدًا أقصى للذاكرة الصلبة يبلغ 900 ميجابايت. تستخدم قيم الذاكرة وحدات النظام الأساسية 1024. 100%تمثل الحصة ما يصل إلى وقت وحدة معالجة مركزية واحدة؛ 200%ويمكن استخدام ما يصل إلى وقت وحدتي معالجة مركزية عند توفرهما. لا تعني هذه الحصة نسبة مئوية من جميع أنوية المعالج في الحاسوب.
يُنفَّذ الأمر في المقدمة لأن هذا نطاق. عند انتهائه، تختفي الوحدة المؤقتة. قم بإزالته --userفقط إذا كنت تنوي استخدام مدير النظام ولديك الصلاحيات اللازمة؛ بالنسبة لوحدة مؤقتة على مستوى النظام، شغِّل الأمر مع sudoخيارات الأمر المناسبة. قد تُرفض إعدادات الموارد إذا كان المدير أو وحدة تحكم مجموعة التحكم لا يدعمها.
بالنسبة لخدمة مثل هذه worker.service، أنشئ ملفًا جاهزًا بدلًا من تعديل ملف وحدة المورّد. شغّل البرنامج sudo systemctl edit worker.serviceوأضف ما يلي:

[Service]
CPUQuota=50%
MemoryHigh=700M
MemoryMax=900M
احفظ ملف الإضافة، ثم أعد تحميل تعريفات وحدات systemd وأعد تشغيل الخدمة حتى تبدأ العملية وفقًا للسياسة المعدلة:
sudo systemctl daemon-reload
sudo systemctl restart worker.service
استخدم حدًا أقصى للذاكرة بحذر. إذا لم يتمكن البرنامج من استعادة ذاكرة كافية ضمن حد معين MemoryMax، فقد يستدعي نظام التشغيل آلية إنهاء العمليات عند نفاد الذاكرة داخل مجموعة التحكم (cgroup). قد يؤدي ذلك إلى إنهاء عملية أو أكثر في مجموعة الخدمات ومقاطعة العمل. غالبًا ما يكون من الأفضل تحديد حد أقصى للذاكرة MemoryHighعند مستوى تكون فيه استعادة الذاكرة والتحكم في الأداء مقبولين، ثم رفعه MemoryMaxكحد أقصى نهائي. اختبر البرنامج مع أحمال الذروة الواقعية قبل تطبيق حدود قصوى صارمة.
بالنسبة لنطاق البيانات العابرة، تحقق من حالته باستخدام اسم الوحدة الذي قدمته:

systemctl --user status worker-capped.scope
systemd-cgtop
بالنسبة لخدمة النظام، احذفها --userمن أمر الحالة. يعرض عرض الحالة وجود الوحدة ونشاطها، systemd-cgtopويُظهر استخدام الموارد المباشر من قِبل مجموعة التحكم. لفحص الخصائص المُكوّنة، استعلم عن الوحدة مباشرةً، على سبيل المثال:
systemctl --user show worker-capped.scope \
-p CPUQuotaPerSecUSec -p MemoryHigh -p MemoryMax
لا يُشترط أن تكون الذاكرة المُبلغ عنها لمجموعة تحكم (cgroup) مطابقةً لحجم الذاكرة المُخصصة لعملية واحدة؛ فهي تشمل الذاكرة المُخصصة للمجموعة، وقد تتضمن العمليات التابعة لها. لذا، تعامل مع عملية المراقبة كدليل على سلوك هذه العملية بمرور الوقت، وليس كرقم واحد يُعتمد عليه في التحسين العشوائي.
systemd-runيبدأ هذا الأمر عملية جديدة داخل وحدة جديدة؛ فهو لا يأخذ مُعرّف عملية موجودًا عشوائيًا وينقله إلى هذا النطاق. إذا كانت العملية تابعة لخدمة systemd، فقم بتطبيق الإعدادات على تلك الخدمة باستخدام ملف إضافي، أو استخدم الأمر ` sudo systemctl set-property --runtime worker.service CPUQuota=50% MemoryHigh=700M MemoryMax=900M. هذا --runtimeالنموذج مؤقت ولا يحل محل إعدادات الخدمة الدائمة.
إذا كانت العملية برنامجًا عاديًا في جلسة سطح المكتب، فإن الطريقة الآمنة والبسيطة عادةً ما تكون إيقافها وإعادة تشغيلها systemd-run. قد يؤثر تطبيق خاصية على نطاق أوسع، مثل نطاق المستخدم بالكامل، على العديد من التطبيقات غير ذات الصلة. يتطلب نقل عملية عن طريق كتابة معرّفها (PID) في ملف cgroup التحكم في التسلسل الهرمي المفوض ذي الصلة، ويجب أن يلتزم بقواعد وضع العمليات في cgroup v2؛ لا تكتب في الدلائل التي يديرها systemd بشكل عشوائي.
CPUQuota=. القيم الأقل تقلل من ذروة استهلاك وحدة المعالجة المركزية ولكنها قد تبطئ عملية الإكمال وتزيد من وقت الانتظار.CPUWeight=خيار "الوزن" بدلاً من "الحصة". فهو يوزّع موارد وحدة المعالجة المركزية بشكل نسبي عند التنافس عليها؛ ولا يحجز نسبة مئوية ثابتة أو يمنع استخدام وحدة المعالجة المركزية الخاملة.MemoryHigh=كعتبة الضغط الرئيسية وراقب زمن الاستجابة وسلوك الاستعادة.MemoryMax=هامشًا كافيًا لاستيعاب الذروات الطبيعية. كن مستعدًا لسلوك نفاد الذاكرة عندما يتعذر الالتزام بالحدود.لا يوجد حد مثالي واحد لكل عبء عمل. قد تتحمل مهمة معالجة دفعية على سطح المكتب حصة منخفضة وحدًا متوسطًا للذاكرة؛ بينما قد تحتاج خدمة حساسة للتأخير إلى مساحة أكبر لوحدة المعالجة المركزية وحد أعلى MemoryHighلتجنب التوقفات الناتجة عن استعادة الذاكرة. ابدأ بشكل متحفظ، وراقب الجهاز خلال ذروة استخدام نموذجية، ثم اضبط إعدادًا واحدًا في كل مرة.
حمّل برنامج FlightGear مجاناً من الموقع الرسمي. قارن بين حزم Windows و macOS و Linux، وثبّت ملفات البيانات، وابدأ رحلتك الأولى.
يقوم برنامج OKSampler بربط مقاطع MP3 بمفاتيح لوحة المفاتيح، كما يتيح تكرار الصوت. تعرّف على وظائف هذا البرنامج المجاني القديم، وحدود ميزاته القديمة، وما يجب التحقق منه قبل التنزيل.
افتح مهام جوجل في متصفح، وأضف اختصارًا لمتصفح كروم أو قم بتشغيلها على غرار التطبيقات، وقم بإدارة المهام المؤرخة من خلال التقويم وجيميل.
قم بتثبيت نسخة لينكس من لعبة Don't Starve Together عبر Steam، وابدأ عالمًا جديدًا، أو انضم إلى أصدقائك باتباع خطوات الإعداد واستكشاف الأخطاء وإصلاحها هذه.
قم بإعداد Squad على نظام Linux باستخدام Steam Play و Proton، ثم قم بتثبيت اللعبة، واختر أداة التوافق، وقم باستكشاف مشكلات مكافحة الغش وإصلاحها.
قم بتنزيل ملف LMDE 5 ISO المؤرشف والتحقق منه، ثم أنشئ قرص USB قابلًا للإقلاع، واختر إعدادات التثبيت الآمنة. انتهى دعم Elsie؛ راجع إصدار LMDE الحالي.
قم بإنشاء قرص USB لتثبيت نظام التشغيل Windows 11 على نظام Linux باستخدام Ventoy: احصل على ملف ISO الرسمي، وقم بتثبيت Ventoy بأمان، وانسخ الصورة، وقم بتشغيل جهاز الكمبيوتر المستهدف.
تعلم كيفية تشغيل لعبة It Takes Two على نظام Linux باستخدام Steam Proton، وتثبيت إصدار Steam، وتمكين التوافق، وإعداد وضع اللعب التعاوني، وحل مشاكل التشغيل.
قم بتثبيت Wireshark على Ubuntu أو Debian أو Fedora أو Arch أو openSUSE باستخدام أوامر الحزمة الحالية، ثم قم بتكوين التقاط الحزم المباشر بأمان.
قم بتثبيت Steam على نظام Linux، ثم احصل على نسخة Slay the Spire الأصلية لنظام Linux من مكتبتك، وقم بتشغيلها. يتضمن ذلك خطوات عملية لحل مشاكل بدء التشغيل الشائعة.