فشل إعادة الخبز: كيف يتم التشخيص والإصلاح؟

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

عندما كنت أعمل على تكوين جهاز أصغر وأكثر هامشية، كنت أفتح نافذة طرفية ثانية، متصلاً عبر ssh بخادمي وأقوم بتشغيل
vmstat 5
مما يوفر سجلاً لاستخدام الذاكرة وهي تتذبذب. راقب عمود swpd وقارنه بمساحة المبادلة (swap space) المكونة لديك. غالبًا ما يحدث الفشل فجأة، وليس تدريجيًا، لذا فإن النظر إلى الاتجاهات قصيرة المدى ليس ذا فائدة كبيرة.

إذا كان لديك مساحة قرص كافية، فلا ضرر على الإطلاق من وجود الكثير من المبادلة - نصف مساحة ذاكرة الوصول العشوائي (RAM)، أو حتى بقدر ذاكرة الوصول العشوائي. إنها موجودة في هذه الحالة للتعامل مع الفترات القصوى. لا تريد رؤية نشاط المبادلة/الترحيل أثناء الاستخدام العادي. مرة أخرى، يمكن للمرء استخدام vmstat 5 5 للحصول على صورة قصيرة المدى لنشاط الترحيل (في أعمدة si و so)

إليك مثال:

# vmstat 5 5
procs -----------memory----------   ---swap--  -----io---- -system--  ------cpu-----
 r  b   swpd   free   buff  cache     si    so    bi    bo   in    cs us sy id wa st
 3  0 1392140  61200  11632  76432    41    32   117    93    0     1  2  1 97  0  0
 1  1 1467220  63416    324  67284  8786 20499 13178 20567 2539  8924 77 13  0 10  0
 0  2 1593340  57916   1096  53832 24262 46868 29986 46889 5377 18534 44 22  0 34  0
 4  0 1155632 120680   2772  86280 39111 35424 54768 37824 6987 25174 38 27  0 35  0
 3  0 1102988  74096   2852  85276 11261   246 12610   271 1879  6365 86  6  0  8  0

ترى أن عمود swpd بلغ ذروته عند أكثر من 1.5 جيجابايت، مقارنة بـ 2.0 جيجابايت المكونة لدي. ترى أن نشاط الترحيل إلى الخارج (swapout) (so) بلغ ذروته في نفس النافذة الزمنية البالغة 5 ثوانٍ، وبلغ نشاط الترحيل إلى الداخل (swapin) (si) ذروته في النافذة التالية.

(تعديل: يمكنني أن أرى أنني قمت بتكوين 2.0 جيجابايت من المبادلة لأنني كنت قد قمت سابقًا بتشغيل free:

# free
              total        used        free      shared  buff/cache   available
Mem:        1009140      696504       78544       51784      234092      118436
Swap:       2097144      154628     1942516

نرى أيضًا أنني كنت في ذلك الوقت أدير ديسكورس (discourse) باستخدام 1 جيجابايت فقط من ذاكرة الوصول العشوائي.)

إعجاب واحد (1)