- يتطلب ضبط نواة لينكس الجمع بين التكوين المعماري، و sysctl، وجدولة وحدة المعالجة المركزية الموجهة نحو زمن الاستجابة.
- تسمح النوى المخصصة وتصحيحات PREEMPT_RT بتقليل زمن الاستجابة بشكل كبير، لكنها تنطوي على مزيد من التعقيد والصيانة.
- ينبغي دائمًا قياس تحسين الشبكة والذاكرة والقرص وخدمات النظام من خلال المراقبة والقياس المعياري الدقيقين.
- يحوّل النهج التكراري القائم على المقاييس تحسينات النواة إلى فوائد حقيقية للتطبيقات والمستخدمين.
عند الحديث عن أداء نظام لينكس، تكاد جميع الآراء تشير إلى شيء واحد: النواة باعتبارها المكون المركزي الذي يتحكم في زمن الاستجابة والاستقرار واستخدام الموارد . ويمكن أن يُحدث ضبطها بدقة فرقًا شاسعًا بين نظام بالكاد يكفي احتياجاته ونظام يستجيب بسلاسة على الخوادم وأجهزة سطح المكتب وبيئات الحوسبة السحابية، أو حتى على الأجهزة القديمة جدًا.
يركز هذا الدليل على كيفية تحسين نواة لينكس لتقليل زمن الاستجابة إلى أدنى حد دون المساس بالأمان أو سهولة الصيانة . سنغطي كل شيء بدءًا من المفاهيم المعمارية الأساسية وصولًا إلى التعديلات باستخدام sysctl، وتجميع النوى المخصصة، واستخدام التصحيحات في الوقت الفعلي، والضبط للشبكات منخفضة زمن الاستجابة (مثل EC2)، وتقنيات المراقبة والقياس لتقييم ما إذا كانت تعديلاتك تُحسّن الأداء بالفعل.
بنية نواة لينكس والنقاط الرئيسية المتعلقة بزمن الاستجابة
تعمل نواة لينكس كطبقة وسيطة بين التطبيقات والأجهزة، حيث تدير الذاكرة والعمليات والمقاطعات وبرامج التشغيل وأنظمة الملفات . وبفضل تصميمها المتكامل والوحدات النمطية ، تسمح هذه الوحدات بتفعيل أو تعطيل الوظائف بمرونة دون الحاجة إلى إعادة تجميع النظام بأكمله.
لفهم مصدر التأخير، من الضروري فهم عدة أنظمة فرعية: مُجدوِل العمليات ، وإدارة الذاكرة، ومعالجة المقاطعات. قد يؤدي سوء تكوين مُجدوِل العمليات، أو سياسة الذاكرة المُفرطة، أو العدد الكبير من المقاطعات غير المُتحكَّم بها، إلى بطء أوقات الاستجابة، حتى مع وجود أجهزة قوية.
تلعب خيارات تهيئة النواة، مثل CONFIG_PREEMPT وCONFIG_PREEMPT_VOLUNTARY وCONFIG_SMP، دورًا هامًا. فهي تحدد مدى إمكانية مقاطعة النواة لمعالجة المهام الأكثر إلحاحًا، وكيفية تعاملها مع الأنظمة متعددة النوى. ويؤدي اختيار نموذج المقاطعة المناسب إلى تغيير ملحوظ في زمن الاستجابة المُدرَك على أجهزة سطح المكتب، والخوادم منخفضة زمن الاستجابة، والأنظمة الصناعية.
في الخوادم الحديثة، تُعدّ بنية الأجهزة مهمة أيضاً: توزيع النوى، والمقابس، وتقنية NUMA، وهيكلية ذاكرة التخزين المؤقت . يساعد ضبط تقارب وحدة المعالجة المركزية وسياسات NUMA (على سبيل المثال، تخصيص العمليات والذاكرة لنفس العقدة) على تقليل أوقات الوصول وتحسين معدل نجاح ذاكرة التخزين المؤقت، وهو أمر بالغ الأهمية لتقليل التذبذب وزمن الاستجابة غير المتوقع.
علاوة على ذلك، يُحدد التفاعل بين مُجدول وحدة المعالجة المركزية وأنظمة الإدخال/الإخراج (القرص والشبكة) معدل نقل البيانات وزمن الاستجابة الذي تواجهه التطبيقات. قبل إجراء أي تغييرات، يُنصح بتوثيق الحالة الراهنة (تكوين النواة، sysctl، GRUB، الوحدات النمطية المُحمّلة) للسماح بالتراجع السريع في حال تسبب التغيير في تدهور الأداء.
إجراء تعديلات عبر sysctl لتحسين زمن الاستجابة والأداء
تتيح لك واجهة sysctl تعديل معلمات النواة مباشرةً عبر /proc/sys، دون الحاجة إلى إعادة تجميعها. إنها نقطة الدخول المثالية لضبط الأداء دون الخوض في تفاصيل التجميع المعقدة.
في بيئة الشبكة، تؤثر معلمات مثل net.core.rmem_max و net.core.wmem_max و net.ipv4.tcp_congestion_control بشكل مباشر على معدل نقل البيانات وزمن الاستجابة وسلوك اتصال TCP. ويُعدّ ضبط المخازن المؤقتة وخوارزمية الازدحام بشكل صحيح أمرًا بالغ الأهمية لخوادم الويب ذات حركة المرور العالية أو مثيلات الحوسبة السحابية ذات زمن الاستجابة المنخفض.
بالنسبة للذاكرة، تتيح لك قيم مثل vm.swappiness و vm.dirty_ratio و vm.vfs_cache_pressure و vm.overcommit_memory التحكم في مقدار مساحة التبديل المستخدمة، وكيفية إدارة ذاكرة التخزين المؤقت للصفحات، وسلوك الذاكرة الافتراضية. عادةً ما يساعد تقليل قيمة swappiness (على سبيل المثال، إلى 10) في منع النظام من استخدام مساحة التبديل بشكل متكرر، مما يقلل من ارتفاعات زمن الاستجابة الناتجة عن عمليات الإدخال/الإخراج للقرص.
إذا كنت تعمل مع قواعد بيانات ضخمة أو تطبيقات تستخدم كميات هائلة من الذاكرة المشتركة، فمن الضروري ضبط قيم kernel.shmmax و kernel.shmall ، بالإضافة إلى الحد الأقصى لعدد الملفات المفتوحة باستخدام fs.file-max و fs.nr_open . قد تتسبب الحدود غير المناسبة في حدوث اختناقات وأخطاء يصعب تشخيصها تحت الضغط.
يُنصح بإجراء تغييرات طفيفة، وقياس تأثيرها باستخدام أدوات المراقبة، ثم حفظها في الملف /etc/sysctl.conf أو /etc/sysctl.d/ . في بيئات الحاويات، تذكر أن العديد من معلمات النواة عامة على مستوى النظام المضيف: قد تؤثر التعديلات غير المدروسة على جميع الخدمات، لذا فإن دمج sysctl مع cgroups و namespaces أمرٌ ضروريٌّ للغاية.
تجميع وصيانة النواة المخصصة
يُعدّ تجميع نواة مخصصة أداةً فعّالة عند الرغبة في تقليل زمن الاستجابة، أو إزالة النفقات العامة غير الضرورية، أو دعم الأجهزة غير التقليدية . ورغم أن التوزيعات تتضمن نواة متعددة الاستخدامات إلى حد كبير، إلا أن نواة محددة تُحدث فرقًا كبيرًا في بعض الحالات.
تتضمن آلية العمل التقليدية تنزيل الكود من kernel.org أو الأشجار المُعدّلة مثل xanmod أو ليكوريكسواستخدم أدوات مثل make menuconfig لاختيار الخيارات. يتيح لك حفظ ملف .config في مستودع git الخاص بك، إلى جانب نصوص البناء، إعادة إنتاج عمليات البناء والحفاظ على التناسق بين الإصدارات.
إذا كنت تستخدم دبيان أو أحد مشتقاتها، فمن المريح جدًا تجميعها " بطريقة دبيان " للحصول على حزم .deb لنواة النظام، وملفات الرأس، والمكتبات المرتبطة بها. يتيح لك هذا نشر نواة النظام المخصصة على أجهزة متعددة ببساطة عن طريق تثبيت الحزم وإدارة الإصدارات باستخدام مستودعك الخاص.
في الواقع العملي، غالباً ما يكون التجميع اليدوي خياراً منطقياً عند العمل مع أجهزة قديمة أو ذات إمكانيات محدودة للغاية . ومن الأمثلة الشائعة على ذلك جهاز كمبيوتر محمول قديم مزود بمعالج Atom وذاكرة وصول عشوائي (RAM) سعتها 1 جيجابايت، حيث يؤدي استخدام نواة نظام تشغيل عامة حديثة، مليئة ببرامج التشغيل غير الضرورية وخيارات الخوادم، إلى زيادة زمن الاستجابة واستهلاك موارد المعالج بشكل غير مقبول.
تتمثل إحدى الاستراتيجيات الشائعة في البدء بإعدادات النواة الحالية (على سبيل المثال، بنسخ ملف الإعدادات من /boot ) ثم تعديلها أو تقليصها. يمكنك تغيير نموذج الاستباق إلى " نواة قابلة للاستباق (سطح مكتب منخفض زمن الاستجابة) " لإعطاء الأولوية للاستجابة التفاعلية لسطح المكتب، أو إضافة مُجدولات إدخال/إخراج مُحددة مثل BFQ كوحدة نمطية لتحسين تجربة استخدام الأقراص الصلبة.
لتجنب قضاء وقت طويل في التجميع، يُنصح بالبناء على جهاز ذي قدرة أعلى، واستخدام التجميع المتقاطع عند الضرورة (على سبيل المثال، تجميع نواة 32 بت لمعالج Atom من جهاز كمبيوتر x86_64 ببساطة عن طريق تعديل ARCH ومجموعات الأدوات المناسبة). بعد ذلك، ما عليك سوى تثبيت ملفات .deb على الجهاز المستهدف وإضافة الإدخال المناسب إلى GRUB.
الجزء الصعب هو الصيانة: من المستحسن اختبار النواة الجديدة على عقد جزر الكناري ، ووجود مسارات تراجع واضحة في مدير التمهيد، وتسجيل السجلات والمقاييس أثناء الانتقال لاكتشاف التراجعات في الأداء أو توافق برامج التشغيل.
نماذج الاستباق وتصحيحات PREEMPT_RT للأنظمة منخفضة زمن الوصول
يُحدد نموذج الاستباق في نواة النظام مقدار المقاطعة المسموح بها لمهمة قيد التشغيل للسماح لمهمة ذات أولوية أعلى بالاستحواذ عليها، مما يؤثر بشكل مباشر على زمن الاستجابة . ويشمل ذلك خيارات التكوين القياسية والتحديثات الفورية.
توفر النواة العامة عدة خيارات: عدم الاستباق (مع التركيز على إنتاجية الخادم)، والاستباق الطوعي، ونواة قابلة للاستباق لأجهزة سطح المكتب ، والتي تعطي الأولوية لأوقات الاستجابة السريعة للتطبيقات التفاعلية. يمكن أن يؤدي تعديل هذا الإعداد إلى تحسين أداء أنظمة سطح المكتب، وتطبيقات الصوت، أو حتى الأجهزة القديمة ذات الأحمال الثقيلة بشكل ملحوظ.
عند الحاجة إلى مزيد من التحسينات، تظهر رقعتا PREEMPT و PREEMPT_RT ، اللتان تُعدّلان أجزاءً مهمة من نواة النظام لتقليل المقاطع غير القابلة للمقاطعة. صُممت رقعة PREEMPT_RT للأنظمة التي يجب أن يكون فيها زمن الاستجابة في أسوأ الحالات (وليس المتوسط فقط) منخفضًا جدًا وقابلًا للتنبؤ، مثل أنظمة الأتمتة الصناعية، وأنظمة الصوت الاحترافية، وأنظمة الاتصالات، وأنظمة التداول عالي التردد.
لا ينبغي أن يستند قرار إدخال PREEMPT_RT إلى الاتجاهات السائدة، بل إلى قياسات دقيقة لزمن الاستجابة والارتعاش . يُنصح أولًا باستكشاف إعدادات المجدول، وتقارب وحدة المعالجة المركزية، وsysctl، وتكوينات مثل tickless الديناميكية إن وجدت، قبل تعقيد عملية الصيانة بشجرة RT.
يجب مراعاة التوافق أيضًا: فبعض برامج التشغيل والأنظمة الفرعية غير متوافقة تمامًا مع نظام التشغيل في الوقت الحقيقي (RT)، وقد تتطلب إصدارات محددة أو تحديثات إضافية. ويتمثل النهج الأمثل في إعداد خطة صيانة تُحدد بوضوح متى وكيف يتم دمج الإصدارات الجديدة من النواة الرئيسية مع فرع نظام التشغيل في الوقت الحقيقي، الذي تتم مزامنته دوريًا ولكنه لا يزال متأخرًا بعض الشيء.
ضبط جدولة وحدة المعالجة المركزية، والتشغيل بدون نبضات، وعزل النواة
بالإضافة إلى اختيار نموذج الاستباق، يمكنك ضبط زمن الاستجابة بدقة من خلال اللعب بجدولة وحدة المعالجة المركزية وسلوك مؤقت النواة، خاصة في التوزيعات الموجهة للمؤسسات مثل RHEL.
يأتي نظام Red Hat Enterprise Linux 8، على سبيل المثال، مزودًا بنواة افتراضية تعمل بدون مقاطعات دورية لوحدات المعالجة المركزية الخاملة ، مما يقلل من استهلاك الطاقة عن طريق تجنب المقاطعات الدورية عندما تكون النواة في وضع الخمول. بالنسبة لأحمال العمل الحساسة للتأخير، يمكن تفعيل وضع ديناميكي بدون مقاطعات دورية على مجموعة من النوى ، بحيث تتولى وحدة معالجة مركزية واحدة فقط (النواة الرئيسية) معظم مهام التوقيت، بينما تبقى باقي النوى بمنأى قدر الإمكان عن المقاطعات الدورية.
يتم هذا التكوين عن طريق إضافة المعلمات المناسبة إلى سطر أوامر النواة في GRUBإعادة إنشاء التكوين، ثم ضبط تقارب خيوط النواة الحرجة، مثل خيوط RCU أو الخيوط bdi-flushبحيث تتواجد في الجزء الأساسي المخصص للصيانة.
يمكن استكمال هذا النهج باستخدام المعامل `isolcpus` ، الذي يسمح بعزل النوى عن مهام مساحة المستخدم العادية. من الشائع جدًا في سيناريوهات زمن الاستجابة المنخفض حجز عدة نوى حصريًا لتطبيق بالغ الأهمية، بينما تتولى نوى أخرى معالجة باقي النظام (الخدمات، المقاطعات، إلخ).
للتحقق من أن الوضع الديناميكي بدون مؤقت يعمل، يمكن إجراء اختبارات بسيطة باستخدام stress أو البرامج النصية التي تُبقي وحدة المعالجة المركزية مشغولة لثانية واحدة وتراقبها. عدادات نبضات المؤقت كيف انخفض عدد المقاطعات في الثانية من الآلاف إلى واحدة فقط في النوى المعزولة، وهي علامة على اختفاء المؤقت الدوري.
إدارة الذاكرة والتخزين مع التركيز على زمن الاستجابة
إن الطريقة التي يدير بها النواة الذاكرة وعمليات الإدخال/الإخراج للقرص لها تأثير كبير على زمن الاستجابة الذي تدركه التطبيقات ، وخاصة في قواعد البيانات والخدمات التي تقوم بالعديد من العمليات الصغيرة والمتكررة.
من ناحية الذاكرة، فإن تقليل vm.swappiness يقلل من استخدام الذاكرة الافتراضية (والتي عادة ما تكون أبطأ بكثير من ذاكرة الوصول العشوائي)، ويتحكم vm.vfs_cache_pressure في مدى سرعة حاجة النظام لتحرير ذاكرة التخزين المؤقت inode و dentry، ويسمح لك vm.nr_hugepages بحجز صفحات ضخمة ثابتة للأحمال الثقيلة مثل قواعد البيانات أو JVMs، مما يقلل من الحمل الزائد لـ TLB.
في المخزن، اختر جدولة الإدخال/الإخراج المناسبة وفقًا لنوع القرص هذا أمر بالغ الأهمية. في محركات الأقراص الصلبة الحديثة، يُنصح عادةً باستخدام... none o mq-deadlineأما في الأقراص الميكانيكية وأنظمة تعدد المهام، فقد تكون الخوارزميات المصممة لتحقيق العدالة أفضل، مثل: BFQبالإضافة إلى ذلك، يمكن تركيب أنظمة الملفات بخيارات مثل noatime y nodiratime تجنب عمليات الكتابة غير الضرورية في كل مرة يتم فيها الوصول إلى ملف أو دليل.
فيما يتعلق بأنظمة الملفات، لا يزال ext4 وXFS الخيارين الأكثر شيوعًا: يُعدّ ext4 المُحسّن خيارًا آمنًا، بينما يميل XFS إلى التوسع بشكل أفضل في ظل التزامن العالي. في السيناريوهات شديدة التطلب، يُمكن دمج RAID (RAID 10 لقواعد البيانات، وRAID 0 للتخزين المؤقت) مع مُجدوِل جيد لتقليل متوسط زمن الاستجابة، والأهم من ذلك، تقليل التباين.
تحسين الشبكة ونواة النظام لتقليل زمن الاستجابة في لينكس وEC2
في تطبيقات الشبكات عالية الأداء، لا يعتمد زمن الاستجابة على الأجهزة أو المسافة فحسب، بل يعتمد أيضًا على كيفية تكوين حزمة بروتوكولات TCP/IP ونواة النظام نفسها . ويتضح هذا بشكل خاص في بيئات الحوسبة السحابية مثل Amazon EC2 المزودة بواجهات ENA.
بدايةً، من المهم تقليل العوامل الخارجية مثل عدد قفزات الشبكة التي تقوم بها الحزم: استخدام طوبولوجيات أكثر مباشرة، وموازنات التحميل القريبة من الواجهة الخلفية أو مناطق التوافر المحسّنة يقلل وقت السفر بالمللي ثانية قبل حتى أن تصل إلى نظام التشغيل.
يتضمن تكوين الشبكة داخل النواة زيادة واصفات الملفات (ulimit -n) ، وتحديد حجم مخازن الاستقبال والإرسال باستخدام net.core.rmem_max و net.core.wmem_max و net.ipv4.tcp_rmem و net.ipv4.tcp_wmem ، وتمكين خيارات مثل TCP Fast Open لتقليل زمن الوصول لإنشاء الاتصال.
في واجهات AWS ENA، يلعب تعديل المقاطعات دورًا مهمًا: بشكل افتراضي، يقوم برنامج التشغيل بتجميع الحزم لتقليل عدد IRQs. rx-usecs و tx-usecsإذا كنت ترغب في تقليل زمن الاستجابة إلى الحد الأدنى المطلق، يمكنك تعطيل هذه الخاصية عن طريق ethtool -Cيؤدي ضبط قيمتي rx-usecs و tx-usecs على الصفر إلى تقليل زمن الاستجابة ولكنه يزيد من الحمل الزائد للمقاطعات، لذلك يجب إيجاد توازن يعتمد على الحمل.
يمكنك أيضًا استخدام irqbalance لتوزيع IRQs عبر عدة أنوية ، أو تعطيله وتعيين تقارب المقاطعة وقائمة انتظار الشبكة (RSS/RPS) يدويًا لأنوية محددة، وهو أمر شائع جدًا في بيئات زمن الوصول المنخفض للغاية أو عند استخدام DPDK وتخطي جزء كبير من مكدس النواة.
من المعايير الأخرى التي يجب مراعاتها حالات الطاقة (C-states) لوحدة المعالجة المركزية : فحالات السكون العميق تقلل من استهلاك الطاقة، ولكنها تُسبب تأخيرًا عند استيقاظ النواة. ولتقليل زمن الاستجابة، يُمكنك تقييد هذه الحالات العميقة، ما يعني قبول استهلاك أعلى للطاقة وتقليل هامش الأداء لتقنية Turbo Boost على النوى الأخرى. ولكل بيئة نقطة مثالية بين الطاقة المستهلكة (بالواط) والوقت المُكتسب (بالميكروثانية).
تحسين وحدة المعالجة المركزية والخدمات والتطبيقات لتقليل زمن الاستجابة
إلى جانب النواة نفسها، فإن البيئة المحيطة لها الكثير لتقوله عن زمن الاستجابة الإجمالي: من الخدمات النشطة على النظام إلى التكوين المحدد لكل تطبيق.
يجب أن يقوم الخادم عالي الأداء بتشغيل... الشياطين الضرورية حقًاتستهلك خدمات مثل البلوتوث والطباعة والاكتشاف التلقائي للشبكة (CUPS، Avahi، إلخ) على أجهزة الخادم موارد المعالج والذاكرة والإدخال/الإخراج دون تقديم أي فائدة. راجع ذلك مع systemctl list-unit-files --state=enabled وتعطيل الأشياء غير الضرورية هو أحد أرخص وأكثر الأشياء فعالية التي يمكنك القيام بها.
لترتيب أولويات العمليات الحيوية، يمكنك استخدام أدوات مثل renice و chrt و taskset . إن تعديل أولوية العملية (renice)، أو تعيين جدولة لها في الوقت الفعلي (chrt -f 99)، أو تعيينها لأنوية محددة (taskset) يقلل من التداخل مع المهام الأخرى، مما يحسن من إمكانية التنبؤ بأداء وحدة المعالجة المركزية لقواعد البيانات، وخدمات VoIP، وخدمات البث، أو خدمات التداول.
على مستوى التطبيق، يُعدّ ضبط الأداء بنفس أهمية ضبط نواة النظام. تحتاج خوادم الويب مثل Nginx أو Apache إلى ضبط دقيق للعمال، ووظيفة Keepalive، وذاكرة التخزين المؤقت، والضغط. تتطلب قواعد البيانات مثل PostgreSQL أو MySQL مراجعة أحجام المخازن المؤقتة، ونقاط التحقق، ومجموعات الاتصالات، ومعلمات الكتابة المتزامنة لتحقيق زمن استجابة منخفض ومستقر.
يلعب جهاز جافا الافتراضي (JVM) دورًا مهمًا أيضًا: إذ يُمكن لاختيار مُجمّعات البيانات المهملة مثل G1GC أو ZGC وتعديل أحجام الذاكرة المخصصة (heap size) تقليل فترات التوقف التي تظهر من الخارج على شكل زمن استجابة. في البيئات الافتراضية والمُحاوية، يُؤدي التخصيص السليم لوحدات المعالجة المركزية الافتراضية (vCPU) وذاكرة الوصول العشوائي الافتراضية (vRAM) وحصص الإدخال/الإخراج إلى منع التنازع الصامت، الذي يتجلى لاحقًا في شكل طوابير لا نهاية لها على القرص أو زيادة في حمل وحدة المعالجة المركزية.
مراقبة النواة والنظام وقياس الأداء
كل هذا التعديل عديم الجدوى إن لم يتم قياس تأثيره. يكمن الحل في الجمع بين المراقبة المستمرة واختبارات الأداء القابلة للتكرار ، بحيث يمكن تقييم كل تغيير في النواة أو sysctl باستخدام بيانات موضوعية.
للاطلاع على الحالة العامة للنظام، يمكنك استخدام أدوات تقليدية مثل htop، vmstat، iotop o sarعندما تحتاج إلى مزيد من التفاصيل، تدخل أدوات النواة المحددة حيز التنفيذ، مثل الأداء والتتبعمما يسمح لك بتتبع سلوك المجدول والمقاطعات والمكالمات الداخلية بدقة كبيرة.
في بيئات الإنتاج، يُنصح بنشر أنظمة قياس الأداء مثل Prometheus أو collectd أو sysstat مع أدوات تصدير البيانات التي تعرض عدادات وحدة المعالجة المركزية، وعمليات الإدخال/الإخراج، وزمن استجابة القرص والشبكة، وقوائم انتظار العمليات، وما إلى ذلك. يساعد عرض هذه البيانات في Grafana أو أدوات مشابهة على اكتشاف أي تراجع أو خلل قبل أن يلاحظه المستخدم النهائي.
لأغراض قياس الأداء، تكمن الفكرة في محاكاة عبء العمل الفعلي ومقارنة الأداء قبل وبعد كل تغيير. تتيح لك أدوات مثل sysbench (لوحدة المعالجة المركزية وقواعد البيانات)، و fio (للقرص)، و iperf3 (للشبكة) إنشاء سيناريوهات قابلة للتكرار. من الضروري توثيق إصدارات النواة، وإعدادات sysctl، والمكونات المادية، ومعايير الاختبار لضمان جدوى المقارنات على المدى الطويل.
في الواقع، يُعدّ تحسين نواة لينكس عملية تكرارية: حيث يتم اختبار سلسلة من التعديلات، وقياس النتائج، والاحتفاظ بما يُحقق فائدة حقيقية، والتخلي عن الباقي. مع إدارة جيدة للتغييرات، يُمكن ترجمة التحسينات في إصدارات النواة الجديدة (مثل السلاسل الحديثة التي تتضمن تحسينات في جدولة المهام، أو الرسومات، أو الطاقة، أو الشبكات) إلى فوائد ملموسة لتطبيقاتك، سواءً كانت على خوادم محلية، أو في الحوسبة السحابية، أو على محطات عمل تتطلب موارد عالية.
إن الجمع بين المعرفة المعمارية للنواة، والضبط الدقيق باستخدام sysctl، والتجميع المتحكم فيه، والاستخدام الانتقائي للتصحيحات في الوقت الحقيقي، ونظام قياس جيد، يسمح للمسؤول أو فريق العمليات بتحقيق استجابات أسرع، وزمن استجابة أقل، واستقرار أفضل بشكل عام دون الحاجة إلى تغيير الأجهزة عند أدنى استفزاز أو المساس بأمان النظام.