سؤال

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

Exceeded soft private memory limit with 192.023 MB after servicing 
2762 requests total

While handling this request, the process that handled this request was
found to be using too much memory and was terminated. This is likely to
cause a new process to be used for the next request to your application.

If you see this message frequently, you may have a memory leak in 
your application.

ما هو "حد الذاكرة الخاصة الناعمة" وما الذي من المحتمل أن يؤدي إلى هذا الاستثناء؟

هل كانت مفيدة؟

المحلول

"حد الذاكرة الخاصة الناعمة" هو حد الذاكرة الذي سيوقف App Engine عنده مثيلاً من تلقي المزيد من الطلبات ، وينتظر أي طلبات معلقة ، وينهي المثيل.فكر في الأمر على أنه إغلاق رشيق عندما تستخدم الكثير من الذاكرة.

يعد الوصول إلى الحد المرن من حين لآخر أمرًا مقبولاً نظرًا لأن جميع طلباتك تنتهي كما ينبغي.ومع ذلك ، في كل مرة يحدث ذلك ، قد يبدأ طلبك التالي في تشغيل مثيل جديد قد يكون له تأثير في زمن الانتقال.

نصائح أخرى

أفترض أنك تستخدم الواجهة الأمامية أو مثيل الواجهة الخلفية من الدرجة الأدنى.(الفئة F1 أو B1) يحتوي كلاهما على حصة ذاكرة تبلغ 128 ميجابايت، لذا من المرجح أن تطبيقك تجاوز حد الحصة هذا.ومع ذلك، يبدو أن هذه الحصة لا يتم تطبيقها بشكل صارم وأن Google لديها بعض التساهل في هذا (وبالتالي المصطلح soft limit)، كان لدي العديد من مثيلات تطبيق F1 تستهلك حوالي 200 ميجابايت من الذاكرة لمدة دقائق قبل أن يتم إنهاؤها بواسطة App Engine.

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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top