בקרת תהליך השימוש CPU עם נחמד cpulimit [לינוקס]
לא משנה כמה מהר מכונת לינוקס שלך, תמיד יהיו כמה משימות לצרוך המון זמן CPU. כל דבר, החל קידוד וידאו ועד מודלים מתמטיים פועל יכול לגרום CPU לרוץ ב 100%. זה בסדר אם המכונה לא עושה שום דבר אחר. אבל אם זה שולחן העבודה הראשי שלך או שהוא משמש כשרת, ולאחר מכן מפעיל את המשימה כי מקסימום את המעבד שלך יגרום המכונה איטי וקשה לשימוש. היופי של מערכת ההפעלה ריבוי משימות הוא כי המכונה לא להקפיא כפי שהוא תמיד לתזמן זמן CPU עבור משימות אחרות דברים כמו שולחן העבודה ימשיך לעבוד, אבל הרבה יותר איטי. מתזמן אין שום דרך לדעת שאתה רוצה את המשימה אינטנסיבית CPU לרוץ בעדיפות נמוכה או להגביל את זמן המעבד שלה. עם זאת ישנם כמה כלים אשר ניתן להשתמש בהם כדי לשלוט על תהליך השימוש CPU עבור משאבים אלה רעב משאבים.
כדי לחקות משימה אינטנסיבית CPU, אנו יכולים להשתמש בכלי שנקרא matho-prime
שיוצר רשימה של מספרים ראשוניים. אם אתה שואל את זה כדי ליצור רשימה גדולה מספיק זה יהיה max את CPU בזמן שהוא עובד. כדי להתקין matho-prime
על אובונטו או על השימוש Pi פטל:
sudo apt-get להתקין mathomatic-primes
בואו רק להתחיל את המשימה ולראות את השימוש CPU:
matho-primes 0 9999999999> p.txt &
זה אומר matho-primes
כדי ליצור רשימה של primes מאפס עד תשע מיליארד תשע מאות תשעים ותשעה מיליון תשע מאות תשעים ותשעה אלף תשע מאות תשעים ותשע! הפלט מנותב אל קובץ p.txt
. אמפרסנד בסוף אומר את הקליפה כדי להפעיל את התוכנית ברקע כלומר אתה מוחזר לשורת הפקודה ישר לאחר תחילת המשימה.
עכשיו להפעיל את הפקודה top
להבחין בכמות של CPU בשימוש על ידי גנרטור מספר ראשוני.
עכשיו בואו נהרוג את המשימה הזאת ונראה איך אנחנו יכולים להשיק אותה בעדיפות נמוכה יותר. צא top
ידי לחיצה על q
, ולאחר מכן הקלד fg
כדי להביא matho-primes
לחזית ולאחר מכן הקש "Ctrl + C" כדי לאלץ את התוכנית כדי לצאת.
עכשיו להתחיל את התוכנית שוב אבל בתחילת הפקודה להוסיף את המילה nice
:
נחמד matho-primes 0 9999999999> p.txt &
nice
הוא כלי אומר לינוקס לתזמן משימה זו בעדיפות נמוכה יותר. את טווחי nicness מ -20 (תזמון מועדף ביותר) ל 19 (לפחות חיובית). כברירת מחדל nice
יהיה לתזמן את המשימה עם niceness של 10. כברירת מחדל משימות רגילות הם התחילו עם nicness של אפס. משמעות הדבר היא כי משימה עם נחמדות של 10 ייראה כמו של עדיפות נמוכה יותר יקבלו משאבי CPU פחות בתדירות.
עכשיו אנחנו יכולים להתחיל את השני של אלה מספר ראשוני גנרטור לחקות משימות אחרות שאתה רוצה לעשות על המחשב שלך (כמו גלישה באינטרנט או כתיבת מסמך). זה אחד יהיה ניקיון רגיל כמו באמצעות שולחן העבודה צריך להיות עדיפות גבוהה יותר מאשר הפעלת מחולל מספר ראשוני.
matho-primes 0 9999999999> p2.txt &
שים לב כי הפלט מקובץ זה מופנה אל p2.txt
. הפלט top
ייראה כך:
כפי שאתה יכול לראות, את התהליך עם niceness גבוה מקבל פחות זמן CPU. משמעות הדבר היא שאם אתה מפעיל משימה אינטנסיבית CPU עם nice
, זה לא יגרום המכונה שלך מרגיש איטי או לגרום לו להגיב לאט.
cpulimit
יש פקודה אחרת הנקראת "cpulimit" אשר במקום לשנות את עדיפות תזמון, זה משהה זמנית תהליך כדי להבטיח כי הוא אינו עולה על השימוש הרצוי CPU.
כדי להתקין אותו הקלד:
sudo apt- לקבל cpulimit להתקין
עכשיו להפעיל את מעבד אינטנסיבית מספר ראשוני גנרטור שוב לציין את מספר ה- PID שלה באמצעות פקודה זו:
ps | grep matho-prime
העמודה הראשונה של הפלט היא PID. עכשיו להגביל את השימוש CPU של תהליך זה ככה:
sudo cpulimit -b -l 50-p 16299
איפה 16299 הוא PID של תהליך matho-primes
. מבט עם top
יראה משהו כזה:
הולך עוד יותר
יש פקודה נלווית בשם nice
renice
אשר תשנה את renice
של תהליך קיים. מנסה להשתמש top
או ps
עם grep
כדי לקבל את PID של תהליך ולהשתמש renice +19 16299
כדי להגדיר את העדיפות הנמוכה ביותר האפשרית (כאשר 16299 הוא PID של התהליך).
אתה מוזמן להוסיף בדיון בהערה להלן.