Improving performance (العربية)/Boot process (العربية)

From ArchWiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Tango-preferences-desktop-locale-modified.pngThe translation of this article or section does not reflect the original text.Tango-preferences-desktop-locale-modified.png

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

تحديد الاختناقات (عنق الزجاجة)

يمكن استخدام الأمر systemd-analyze لعرض بيانات عن أوقات إقلاع الخدمات ، إضافة إلى خريطة svg لعرض انتظار الوحدات لتبعياتها . انظر systemd-analyze(1) لمزيد من التفاصيل.

تصريف نواة مخصصة

إن تصريف نواة مخصصة سوف يخفض من زمن الإقلاع وحجم الذاكرة المستخدمة . اقرأ المزيد عن تصريف النواة.

البدء المبكر للخدمات

أحد الميزات المحورية ل systemd هي D-Bus وتنشيط المقبس . هذا يؤدي إلى بدء الخدمات عندما يتم الوصول إليها أولا وعموما ذلك أمر جيد، على كل حال إذا كنت تعرف أن هذه الخدمة (مثل UPower[archived page]) سوف تبدأ دوما أثناء الإقلاع ، حينئذ سيكون الزمن الإجمالي للإقلاع أقل إذا تم إقلاع هذه الخدمة بشكل مبكر على قدر الإمكان. ذلك يمكن إنجازه ( إذا كان ملف هذه الخدمة معد لذلك ، في معظم الأحوال يكون كذلك) عن طريق تنفيذ :

# systemctl enable upower

ذلك سيؤدي إلى بدء UPower بسرعة قدر الإمكان ، بدون التسبب في تسابق مع المقبس أو تفعيل D-Bus.

التشغيل على مراحل

بعض تطبيقات العتاد staggered spin-up, تتسبب في جعل نظام التشغيل يفحص واجهات موصلات ATA بشكل تسلسلي ، والتي تشغل برامج التشغيل واحدا بعد واحد ، وتقلل من استهلاك الطاقة. وذلك يبطئ من سرعة الإقلاع، على الرغم من أن معظم اﻷجهزة المستهلكة لا تقدم أي فائدة على الإطلاق، حيث إن المشغلات ستعمل مباشرة عند تشغيل زر الطاقة. للتأكد من كون SSS قيد التشغيل نفذ الأمر:

# dmesg | grep SSS

إذا كانت غير مستخدمة أثناء الإقلاع، فلن يظهر أي خرج للأمر. ولوقف عملها أضف المدخلة libahci.ignore_sss=1 ل kernel line في ملف الإقلاع.

وصل نظام الملفات

شكرا للخطاف fsck الخاص بالبرنامج mkinitcpio ، يمكنك تجنب التكلفة الباهظة لعملية تكرار إعادة وصل قسم الجذر بتغيير المدخلة ro إلى rw في سطر النواة وحذفها من ملف /etc/fstab من خيارات قسم الجذر. يمكن ضبط الخيارات ب rootflags=mount options... على سطر ال kernel. يمكنك أيضا حذف أنظمة ملفات API من ملف /etc/fstab, حيث يقوم المخدم systemd بتوصيلها ذاتها، انظر pacman -Ql systemd | grep '\.mount$' لمعرفة القائمة. من غير الشائع للمستخدمين أن يكون لديهم مدخلة /tmp تم ترحيلها من sysvinit ، ولكن قد يلاحظ من اﻷمر بأعلاه أن المخدم systemd اعتنى بذلك فعلا. ولذا عليك أن تقوم بحذفها بشكل آمن.

نظم الملفات اﻷخرى مثل /home يمكن وصلها على وحدات وصل مختارة. إضافة المدخلات noauto,x-systemd.automount سوف يخفف عمليات الوصول لهذا القسم ، وسوف يقوم بعمل فحص fsck ووصله عند أو تشغيل، ويقلل من عدد نظم الملفات التي يجب عمل فحص وربط fsck/mount أثناء عملية الإقلاع.

ملاحظة: ذلك سيجعل نوع نظام ملفات /home هو autofs, والذي سيتم تجاهله من قِبل mlocate افتراضيا. سرعة الوصل التلقائي لقسم /home ربما لن تزيد عن ثانية أو ثانيتين، اعتمادا على نظامك، لذا ربما لا تحتاج هذه الحيلة لكل هذا العناء.

نظام ملفات الذاكرة اﻷولي Initramfs

كما أشرنا من قبل ، يمكن تقليل وقت الإقلاع عن طريق تخسيس النواة ، مما يقلل من كمية البيانات التي يجب أن يتم تحميلها. وذلك أيضا حقيقي بالنسبة ل initramfs لديك (الناتج من الأمر mkinitcpio ) ، حيث إنه يتم تحميله مباشرة بعد النواة ، وكن مهتما بترتيب نظام ملفاتك الجذر ووصلك له. للإقلاع ، ما هو مطلوب فعلا قليل جدا ويشمل موصلات  التخزين ، أجهزة الكتل ، ونظم الملفات . قام المطور Falconindy (Dave Reisner) مرغما بعمل درس تعليمي مختصر عن كيفية تحقيق ذلك على مدونته.

خرج قليل أثناء الإقلاع

قم بتغيير المدخلة verbose إلى quiet في سطر ال kernel الموجود في محمل الإقلاع، ولا سيما مع أقراص الحالة الصلبة SSD، يعتبر اﻷداء البطيء ل TTY هو بالفعل عنق زجاجة، ولذا فإن تقليل الخرج يعني إقلاعا أسرع.

مصادر إضافية