مستوى المقال: مبتدئ. مناسب لو لسه بادئ في إدارة سيرفرات لينكس وعايز تفهم الأرقام اللي بتطلعلك في uptime وtop من غير ما تفزع منها.
Load Average في لينكس: ليه رقم 8 مش دايمًا مشكلة
لو شفت load average وصل 8 على سيرفرك وقلبك وقع، ركز: الرقم ده ممكن يكون طبيعي تمامًا. المشكلة غالبًا مش في السيرفر، المشكلة إنك بتقرأ الرقم غلط. في السطور الجاية هتعرف تفرّق في ثانية بين سيرفر مشغول وسيرفر مخنوق فعلًا.
المشكلة باختصار
أغلب الناس بتتعامل مع load average كأنه نسبة مئوية، فبيفتكروا إن أي رقم فوق 1 معناه السيرفر بيموت. ده غلط. الرقم ده مش نسبة، وقيمته الطبيعية بتعتمد على حاجة واحدة هتكررها في المقال ده كتير: عدد الأنوية (cores). من غير ما تعرف عدد الأنوية، الرقم لوحده مالوش أي معنى.
يعني إيه load average أصلًا؟ (بمثال بسيط)
تخيّل سوبر ماركت فيه 4 كاشير. الزباين اللي بيتم خدمتهم دلوقتي = 4. وفيه كمان 3 زباين واقفين في الطابور مستنيين دورهم. يبقى إجمالي الضغط على المحل = 4 اللي بيتخدموا + 3 مستنيين = 7.
الرقم 7 ده بالظبط هو فكرة الـ load average: مش بس اللي بيشتغل دلوقتي، لكن كمان اللي مستني دوره. لو عندك 4 كاشير والضغط 4، يبقى كل واحد مشغول وملوش طابور؛ وضع مثالي. لو الضغط 7 وعندك 4 كاشير بس، يبقى في زباين بيستنوا، والخدمة بقت أبطأ.
دلوقتي بعد ما المثال وضّح الفكرة، تعالَ للتعريف العلمي الدقيق: load average هو متوسط عدد العمليات (processes) اللي في حالة تشغيل أو في انتظار التشغيل خلال فترة زمنية. الكاشير = نواة المعالج. الزبون اللي بيتخدم = عملية شغّالة على نواة. الزبون اللي مستني = عملية جاهزة بس مفيش نواة فاضية تشغّلها.
القاعدة الذهبية: اقسم على عدد الأنوية
القاعدة اللي بتحوّل الرقم الغامض لمعلومة مفيدة بسيطة جدًا: اقسم الـ load على عدد الأنوية. شغّل الأمرين دول:
$ uptime
14:21:05 up 9 days, 3:42, 2 users, load average: 7.82, 4.10, 2.45
$ nproc
8هنا الـ load وصل 7.82 وعدد الأنوية 8. اقسم: 7.82 ÷ 8 = 0.97 تقريبًا. يعني السيرفر مستغَل بحوالي 97% من طاقته، شغّال على آخره بس من غير ما يتجاوز قدرته. مفيش طابور انتظار يُذكر. الرقم 8 هنا مش مشكلة خالص؛ ده سيرفر بيشتغل بكفاءة عالية.
بالعكس، لو نفس الرقم 7.82 على سيرفر فيه نواتين بس، يبقى 7.82 ÷ 2 = 3.9. ده معناه إن السيرفر متحمّل تقريبًا 4 أضعاف طاقته. القاعدة العملية: لو الناتج بعد القسمة أقل من 1، السيرفر مرتاح. حوالي 1، مستغَل بالكامل. أكتر من 1، في طابور انتظار والأمور بتبطّأ.