تشير رسالة الخطأ هذه إلى عدم كفاية الذاكرة عند تهيئة الجهاز (مثل وحدة معالجة الرسومات)، مما تسبب في فشل تخصيص الذاكرة لأمر OpenCL clEnqueueNDRangeKernel() (CL_MEM_OBJECT_ALLOCATION_FAILURE). غالبًا ما يرتبط هذا بعدم كفاية الذاكرة المتاحة لوحدة معالجة الرسومات ، ربما للأسباب التالية:
عدم كفاية ذاكرة الفيديو لوحدة معالجة الرسومات : لا تحتوي وحدة معالجة الرسومات الخاصة بك على ذاكرة فيديو كافية للتعامل مع المهام المطلوبة بواسطة Hashcat أو أدوات أخرى. على سبيل المثال ، عندما تحاول اختراق ملف تجزئة كبير جدًا أو تستخدم قوة اختراق عالية جدًا ، تزداد متطلبات ذاكرة الفيديو بشكل كبير.
عمليات أخرى تشغل ذاكرة وحدة معالجة الرسومات : قد تكون هناك عمليات أخرى تعمل على وحدة معالجة الرسومات الخاصة بك وتشغل الكثير من ذاكرة الفيديو ، مما يؤدي إلى عدم قدرة Hashcat على تخصيص ذاكرة كافية.
مشكلة برنامج تشغيل وحدة معالجة الرسومات : في بعض الأحيان ، تكون إصدارات برنامج تشغيل وحدة معالجة الرسومات غير متوافقة أو توجد أخطاء قد تسبب مشاكل في إدارة الذاكرة. قد يساعد تحديث برنامج التشغيل في حل هذه المشكلة.
حدود تخصيص الذاكرة : قد يكون لبعض تطبيقات OpenCL حدود حجم تخصيص الذاكرة الفردية. إذا كانت مهمتك تتطلب كتلة ذاكرة واحدة تتجاوز هذا الحد ، فقد يفشل تخصيص الذاكرة أيضًا.
تقليل معلمة الهجوم :
تقليل حجم الدُفعة ( - workload-profile أو -n و -u المعلمات) لتقليل استخدام الذاكرة.
يتم تشغيله باستخدام قائمة تجزئة أصغر أو تقسيم الملفات الكبيرة إلى أجزاء أصغر.
إيقاف تشغيل العمليات الأخرى التي تشغل وحدة معالجة الرسومات :
تأكد من عدم وجود عمليات أخرى تستخدم وحدة معالجة الرسومات. يمكنك التحقق من استخدام ذاكرة الفيديو الحالي باستخدام Task Manager (Windows) أو nvidia-smi (Linux/Windows ، لوحدات معالجة الرسومات NVIDIA).
ضبط تحديد الجهاز :
حدد جهازًا مختلفًا (إذا كان هناك وحدات معالجة الرسومات المتعددة) باستخدام المعلمات -d .
قم بتحديث أو إعادة تثبيت برنامج تشغيل وحدة معالجة الرسومات :
تأكد من أن برنامج تشغيل وحدة معالجة الرسومات الخاص بك هو أحدث إصدار ، خاصة عند استخدام وحدة معالجة الرسومات أو إصدار نظام التشغيل الأحدث.
يستخدم نموذج خوارزمية التجزئة الأقل :
قد يقلل استخدام الوضع الأقل (إن وجد) من متطلبات الذاكرة.
إضافة المزيد من الذاكرة الفعلية :
إذا كان لديك وحدات معالجة رسومات متعددة ، ففكر في زيادة الذاكرة الفعلية أو التبديل إلى وحدة معالجة رسومات ذات ذاكرة أكبر.
من خلال تجربة الطرق المذكورة أعلاه ، يجب أن تكون قادرًا على إيجاد حل مناسب للتعامل مع مشكلة نفاد الذاكرة.