לא משנה כמה מהר מכונת לינוקס שלך, תמיד יהיו כמה משימות לצרוך המון זמן 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 של התהליך).

אתה מוזמן להוסיף בדיון בהערה להלן.