דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. הגבלת צריכת המעבד והזיכרון של יישום

הגבלת צריכת המעבד והזיכרון של יישום

מתוזמן נעוץ נעול הועבר תכנות
3 פוסטים 2 כותבים 141 צפיות 1 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • nigunN
    nigunN
    nigun
    כתב ב נערך לאחרונה על ידי nigun
    #1

    אני מריץ שרת קטן להעלאת קבצים לשרת (כתוב בGO אם זה משנה)
    ולפעמים הוא תופס מידי הרבה זיכרון/מעבד
    מה הדרך הכי פשוטה להגביל אותו שלא יתפוס יותר מאחוז מסויים מהמעבד/הזיכרון?
    (וכמובן בלי שיפגע בתהליכים שאני מנסה להריץ, רק שיעשה אותם יותר לאט)

    מייל: nigun@duck.com

    yossizY תגובה 1 תגובה אחרונה
    1
    • nigunN nigun

      אני מריץ שרת קטן להעלאת קבצים לשרת (כתוב בGO אם זה משנה)
      ולפעמים הוא תופס מידי הרבה זיכרון/מעבד
      מה הדרך הכי פשוטה להגביל אותו שלא יתפוס יותר מאחוז מסויים מהמעבד/הזיכרון?
      (וכמובן בלי שיפגע בתהליכים שאני מנסה להריץ, רק שיעשה אותם יותר לאט)

      yossizY
      yossizY
      yossiz
      כתב ב נערך לאחרונה על ידי yossiz
      #2

      מעבד

      להגביל זמן מעבד אפשר בכמה דרכים, נראה לי שהכי קל יהיה לכתוב קובץ שירות systemd עבור השרת ולהוסיף בתוכו הגדרה:

      [Service]
      CPUQuota=10%
      

      https://www.freedesktop.org/software/systemd/man/systemd.resource-control.html#CPUQuota=

      זכרון

      (וכמובן בלי שיפגע בתהליכים שאני מנסה להריץ, רק שיעשה אותם יותר לאט)

      נראה לי שיש לך אי הבנה,
      אם תוכנה תבקש זכרון ממערכת ההפעלה והיא לא תקבל אותה, בד"כ התוכנה תקרוס במקרה הגרוע או שתזרוק חריגה שתטופל איפשהו בקוד במקרה הטוב אבל בכל מקרה הפונקציה נקטעה, היא לא תמשיך בצליעה.
      אם תוכנה (שאתה כתבת) משתמשת ביותר זכרון ממה שתכננת, צריך להבין למה היא מקצה את הזכרון הזה, ולשנות את הקוד בצורה שהיא לא תצטרך להקצות כל כך זכרון, או לפחות בצורה שהיא תוכל לשחרר את הזכרון יותר מהר.

      בחזרה לשאלתך, (כלומר אם אתה עדיין מעוניין להגביל את הזכרון של התהליך),
      אפשר לעשות את זה באמצעות bash על ידי הפקודה (המובנית) ulimit -v:
      או בתוך קובץ systemd

      https://www.freedesktop.org/software/systemd/man/systemd.resource-control.html#MemoryAccounting=
      https://www.freedesktop.org/software/systemd/man/systemd.exec.html#Process Properties

      https://serverfault.com/a/772318

      📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה
      👈 רוצים כתובת מייל בעברית? כנסו למייל.קום 👉

      תגובה 1 תגובה אחרונה
      6
      • yossizY
        yossizY
        yossiz
        כתב ב נערך לאחרונה על ידי
        #3

        @nigun אמר בהגבלת צריכת המעבד והזיכרון של יישום:

        להגביל אותו שלא יתפוס יותר מאחוז מסויים מהמעבד

        במחשבה שנייה, אני לא חושב שזה נכון להגביל את זמן ה-CPU שאתה נותן לתהליך. אם אתה לא רוצה שהתהליך יגזול מזמן העיבוד של תהליכים אחרים, יותר טוב לשנות את העדיפות של התהליך על ידי פקודת nice.

        📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה
        👈 רוצים כתובת מייל בעברית? כנסו למייל.קום 👉

        תגובה 1 תגובה אחרונה
        5

        שלום! נראה שהשיחה הזו מעניינת אותך, אבל עדיין אין לך חשבון.

        נמאס לכם לגלול בין אותם הפוסטים בכל ביקור? כשנרשמים לחשבון, תמיד תחזרו בדיוק למקום שבו הייתם קודם, ותוכלו לבחור לקבל התראות על תגובות חדשות (בין אם במייל, ובין אם בהתראת פוש). תוכלו גם לשמור סימניות ולפרגן ב-upvote לפוסטים כדי להביע הערכה לחברי קהילה אחרים.

        בעזרת התרומה שלך, הפוסט הזה יכול להיות אפילו טוב יותר 💗

        הרשמה התחברות
        תגובה
        • תגובה כנושא
        התחברו כדי לפרסם תגובה
        • מהישן לחדש
        • מהחדש לישן
        • הכי הרבה הצבעות


        בא תתחבר לדף היומי!
        • התחברות

        • אין לך חשבון עדיין? הרשמה

        • התחברו או הירשמו כדי לחפש.
        • פוסט ראשון
          פוסט אחרון
        0
        • דף הבית
        • קטגוריות
        • פוסטים אחרונים
        • משתמשים
        • חיפוש
        • חוקי הפורום