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

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

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

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

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

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

    מייל: nigun@duck.com

    yossizY תגובה 1 תגובה אחרונה
    1
    • yossizY מנותק
      yossizY מנותק
      yossiz
      השיב לnigun ב נערך לאחרונה על ידי 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

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

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

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