منع جتك FileChooserDialog الدعوة القانون الأساسي على كافة الملفات في الدليل؟

StackOverflow https://stackoverflow.com/questions/809560

  •  03-07-2019
  •  | 
  •  

سؤال

وفتح جتك FileChooserDialog بطيء بشكل مؤلم لNFS الدلائل التي تحتوي على العديد من الملفات. strace يظهر الكثير من الوقت داعيا "القانون الأساسي". حوالي 5 دعوات كل من الملفات في الدليل. كيف يمكننا إيقاف المكالمات إلى "القانون الأساسي" وتظهر فقط في قائمة أسماء دون تعديل الوقت؟

ونحن نستخدم تعمل ردهات الشركة 4، x86_64، لينكس 2.6.9-42.0.8.ELsmp وFileChooser قادم من: /usr/lib64/libgtk-x11-2.0.so.0.400.13. يفتح برنامج الاختبار FileChooserDialog ويستغرق 10 ثانية لتظهر، مقارنة بنحو 25 مللي ثانية ل"ليرة سورية" تدرج نفس الدليل.

وتطبيق الكسوف لدينا يجري شلت هذه المسألة ملف محدد ...

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

المحلول

ووجتك + وفريق جنوم دينا علة التقرير ذي الصلة لهذه القضية ، على الأقل منذ عام 2005. التغييرات الأخيرة والمستقبلية في المكتبات جنوم الأساسية من المؤمل تحسين الأداء. يمكن أن تتفاقم هذه المشكلة إذا كان لديك أي علامات على محركات أقراص الشبكة في القائمة filechooser.

نصائح أخرى

وملف GTK حوار مفتوح وعلى الأرجح القانون الأساسي (2) تينغ كافة الملفات في الدليل. وهو eqivalent من ls -l على الدليل، وأنه يجب أن تعمل عن ذلك ببطء. إخراج ls | cat (والذي هو أسرع بكثير) قد لا تكون كافية، لأن ذلك لا يستطيع المرء أن يميز الملفات من الدلائل.

وأنا أقترح قياس ls | cat، ls -l ووملف GTK الحوار المفتوح. إذا كان الملف GTK الحوار المفتوح هو أبطأ بكثير من ls -l، ثم هناك شيء خاطئ مع GTK (لا NFS). فما استقاموا لكم فاستقيموا تشغيل التطبيق GTK خلال strace، ونرى ما هو بطيئة. إذا كان ملف الحوار GTK مفتوحة له حوالي بنفس سرعة ls -l، وأنا لا أعتقد أنه يمكن أن يتم بشكل أسرع - وربما NFS جبل الأعلام يمكن أنب، عملاء NFS والخوادم ترقية، أو أنه من الممكن للتبديل إلى بنية تحتية أسرع مثل سامبا.

هل noatime دليل شنت؟ وربما يساعد ذلك مع القانون الأساسي منذ سيتم تحديث ATIME لكل ملف مع القانون الأساسي.

وستحتاج إلى قم بإعادة تحميل NFS جبل مع -o noatime من أجل إيقاف ATIME التحديث.

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