إعـــــــلان

تقليص
لا يوجد إعلان حتى الآن.

كيف اضع حدود لاستهلاك بيثون للمعالج و الذاكرة

تقليص
X
 
  • تصفية - فلترة
  • الوقت
  • عرض
إلغاء تحديد الكل
مشاركات جديدة

  • [سؤال] كيف اضع حدود لاستهلاك بيثون للمعالج و الذاكرة

    كيف يمكن ان اجعل سكريبت صنعته ببيثون يستهلك 25% مثلا من المعالج,و لا يتجاوز ذلك؟
    عند تشغيل سكريبت يدور في حلقة مع بعض الحسابات مثل هذاالسكريبت المقتبس :
    كود PHP:
    def euler5():
        
    20

        seq 
    range(220+1)
        while 
    True:
            for 
    j in seq:
                if 
    != 0:
                    break
                
    elif j == 20:
                    return 
    i

            i 
    += 20

    print euler5() 
    فإن المعالج يكون 100%, فكيف احدده بحيث لا يتم السماح للبيثون بان تستهلك اكثر من 25% من المعالج طوال عمل هذا البرنامج حتى ينتهي؟
    (حاولت استخدام sleep لكنها لا تصلح)
    و ماذا عن ذاكرة الرام اذا اردت تحديدها ايضا؟
    PythonasabilysKwriteoperard

  • #2
    لا أعتقد يمكن ذلك فهذا من صلاحيات نظام التشغيل، والله أعلم

    تعليق


    • #3
      السلام عليكم ..

      يمكنك استخدام برنامج

      cpulimit

      راجع
      http://cpulimit.sourceforge.net/
      http://www.debianadmin.com/cpulimit-...a-process.html
      http://controlpanelblog.com/general/...-cpulimit.html
      http://www.cyberciti.biz/faq/cpu-usa...ter-for-linux/


      بالتوفيق
      سلام عليكم ..

      تعليق


      • #4
        شكرا على اهتمامكما اخ امين و اخ حمدي
        أمين: اظنه ممكنا, فهناك برامج تفعل هذا, فجوجل للبحث المكتبي يفهرس باستهلاك قليل للمعالج, و لو تركت الحاسب بدون تحريك للفأرة او ضغط لوحة مفاتيح او برنامج يستخدم المعالج (فيديو او تنزيل مثلا), فانه يزيد من معدل استعمال المعالج بنسبة 100% ,لتسريع الفهرسة
        حمدي: انا لا اهدف الى استخدام برنامج, انا اريد امر او كود بلغة بيثون, لكي يقوم البرنامج المصنوع بلغة بيثون من تحجيم نفسه
        PythonasabilysKwriteoperard

        تعليق


        • #5
          ربما قوقل لا تستخدم البايثون في برنامج البحث

          ربما سي مثلا وهذه اللغات أخف في إستهلاك الموارد وأيضا له القدره على التحكم في إستهلاك الموارد

          أو ربما دمج بين اللغتين

          ما المشكله بإستخدام الدالة sleep

          بعد تعديل الكود


          كود PHP:
          from time import sleep

          def euler5
          ():
              
          20

              seq 
          range(221)
              while 
          True:
                  
          sleep(0.001)
                  for 
          j in seq:
                      
          sleep(0.000001)
                      if 
          != 0:
                          break
                      
          elif j == 20:
                          return 
          i

                  i 
          += 20

          print euler5() 

          تقدر تخلي توقيت الدالة sleep متغير يتحكم في زيادته ونقصانه المستخدم
          هل لديك الوقت لتلعب مع لغة البرمجة بايثون؟
          الأساسيات وتطوير البرامج - تطوير وبرمجة الويب
          --------
          جرب التدوين بقوة بايثون LightBlog

          تعليق


          • #6
            السلام عليكم ..

            نعم فهمتك ..

            طيب ما رأيك بهذا .. مع اني فعلا ليست لدي معرفه في بايثون .. ولكني جيد في البحث بكل الأحوال ولله الحمد ..
            http://stackoverflow.com/questions/1...bprocess-popen

            لو لم يكن هذا ما تقصد وضح لي فضلا بشكل اوضح قليلا ..

            بالتوفيق
            سلام عليكم

            تعليق


            • #7
              يمكنك تنفيذ البرنامج بواسطة nice

              nice python myprog.py

              وتعني شغل البرنامج برفق

              تعليق


              • #8
                كنت داخل اتلم عن nice وجدت الاستاذ مؤيد حكى عنها
                بالتوفيق

                تعليق


                • #9
                  ربما قوقل لا تستخدم البايثون في برنامج البحث
                  ربما سي مثلا وهذه اللغات أخف في إستهلاك الموارد وأيضا له القدره على التحكم في إستهلاك الموارد
                  نعم ليس مكتوبا ببيثون, لكن بيثون مكتوبة بلغة سي, اذا هي تستطيع فعل ذلك, و تستطيع تمكين السكريبتات المكتوبة بها من فعل ذلك

                  ما المشكله بإستخدام الدالة sleep
                  المشكلة انه نظريا, سيستغرق البرنامج ما لا يقل عن 3.2 ساعات (على كل الحاسبات) بدلا من نصف دقيقة (على حاسب قديم)

                  طيب ما رأيك بهذا .. مع اني فعلا ليست لدي معرفه في بايثون .. ولكني جيد في البحث بكل الأحوال ولله الحمد ..
                  يمكنك تنفيذ البرنامج بواسطة nice
                  كنت داخل اتلم عن nice وجدت الاستاذ مؤيد حكى عنها
                  شكرا لكم, لكنني كنت ابحث عن كود برمجي

                  يبدو ان هذه الميزة لا توجد في بيثون, ربما تضاف في اصدارة قادمة, سأحاول ان اغير طريقة عمل برنامجي للتخلص من الحاجة لها
                  PythonasabilysKwriteoperard

                  تعليق


                  • #10
                    نعم ليس مكتوبا ببيثون, لكن بيثون مكتوبة بلغة سي, اذا هي تستطيع فعل ذلك, و تستطيع تمكين السكريبتات المكتوبة بها من فعل ذلك
                    بل طريقة عمل اللغه والغرض منها هو من يحدد ذلك

                    بايثون ليست موجهه للعمل على الهاردوير وإدارته مثل لغات السي والأسمبلي
                    هل لديك الوقت لتلعب مع لغة البرمجة بايثون؟
                    الأساسيات وتطوير البرامج - تطوير وبرمجة الويب
                    --------
                    جرب التدوين بقوة بايثون LightBlog

                    تعليق

                    يعمل...
                    X