במאמר הבא אנו נסתכל על CPULimit. זהו כלי שורת פקודה ש מגביל את השימוש במעבד על ידי תהליך (מבוטא באחוזים ולא בזמן מעבד). זה יהיה שימושי לבקרת עבודות אצווה כאשר איננו רוצים שתהליך שיצרוך יותר מדי מחזורי מעבד.
בעזרת הכלי הזה אנחנו לא הולכים לשנות את הערך או את הגדרות העדיפות האחרות, אלא את השימוש בפועל במעבד. בנוסף, היא מסוגלת להסתגל לעומס הכללי של המערכת, באופן דינמי ומהיר. השליטה בכמות המעבד המשמשת נעשית באמצעות שליחה señales התחנה הבאה y NEXTCONT POSIX לתהליכים. כל התהליכים וההברגות של התהליך שצוין יחלקו את אותו אחוז המעבד.
התקן את CPULimit
CPULimit הוא זמין ברוב מאגרי ברירת המחדל של הפצות כמו יוניקס. אנו יכולים להתקין אותו באמצעות מנהלי ברירת המחדל של חבילות בהפצת Gnu / Linux בהתאמה. לדוגמא העומדת בפנינו, נראה כיצד להתקין אותה ב- Debian, Ubuntu ו- Linux Mint. נצטרך לפתוח רק מסוף (Ctrl + Alt + T) ולכתוב בו את הפקודה הבאה:
sudo apt-get install cpulimit
מי שרוצה יכול להתייעץ עם סוגים אחרים של מתקנים באזור פרויקט דף GitHub.
שימוש ב- CPULimit
לאחר התקנת הכלי, הגיע הזמן לראות כיצד הוא עובד. לשם כך אנו הולכים להפעיל תוכנית שצורכת משאבי CPU רבים. יש להפעיל את הפקודות הבאות כמשתמש הבסיס.
יצירת סקריפט שצורך משאבי מעבד
ראשית אנחנו הולכים צור קובץ בשם derrochecpu.sh. אני הולך להשתמש ב- עורך Vim, אבל שכל אחד משתמש בזה שהוא מעדיף. מהטרמינל (Ctrl + Alt + T) נצטרך לכתוב:
vim derrochecpu.sh
לאחר פתיחתנו, נלחץ על מקש 'Esc' ואז 'i'. כעת אנו מוסיפים את השורות הבאות:
#!/bin/bash while :; do :; done;
עם זאת, הגיע הזמן לשמור ולצאת. לשם כך נלחץ על מקש 'Esc'ואנחנו נכתוב : wq כדי לשמור ולסגור את הקובץ. סקריפט קצר זה יחזור על עצמו ללא הפרעה הצורך שימוש מרבי במעבד. לכן, מומלץ לבדוק אותו במכונה וירטואלית.
עכשיו אנחנו הולכים להפוך את הקובץ הזה להפעלה. לשם כך, מאותו מסוף (Ctrl + Alt + T) נבצע:
chmod +x derrochecpu.sh
השקת התסריט
כעת נשיק את התהליך ברקע. אנו נעשה זאת באמצעות הפקודה:
./derrochecpu.sh &
אנו הולכים לשמור על ה- PID של התהליך. במקרה זה, 6472 הוא ה- PID של התהליך שהושק.
בודק כמה מעבד הוא צורך
אנו יכולים לראות את כמות המעבדים שצורכת התהליך שזה עתה השקענו באמצעות ה- פקודה «למעלה» באותו מסוף:
top
כפי שניתן לראות בצילום המסך לעיל, תהליך wastecpu.sh צורך יותר מ- 96% שימוש במעבד. מכיוון שהוא צורך שימוש רב במעבד, קשה לבצע משימות אחרות. לאחר כמה דקות, המערכת עלולה לקרוס או לקפוא. כאן CPULimt נחלץ לעזרתנו.
הגבלת השימוש במעבד לפי PID
כעת, בואו נגביל את השימוש במעבד בתהליך זה באמצעות הכלי CPULimit. אנחנו הולכים ל להגביל את השימוש במעבד ל 35% באמצעות ה- PID המתאים לו (בְּעֵרֶך). לשם כך, הפעל:
cpulimit -l 35 -p 6472 &
- האפשרות "-ל 35»מגביל את התהליך לכ- 35%.
- «-P 6472»האם ה- PID של derrochecpu.sh שראינו בעבר.
בדיקת ההשפעה של CPULimit
לאחר שהפקודה הקודמת הושקה, בואו נבדוק שוב את השימוש במעבד בתהליך. לשם כך נשתמש בפקודה העליונה שוב:
top
כפי שניתן לראות בתמונה לעיל, השימוש במעבד של wastefulcpu.sh צנח ל 35,6%, שזה קרוב מאוד ל 35%. עכשיו כן נוכל לקבל יותר משאבי מעבד להפעלת תהליכים אחרים.
הגבלת השימוש במעבד לפי שם קובץ
ראינו כיצד להגביל תהליך באמצעות ה- PID. גם כן אנו יכולים לבצע את הפקודה CPULimit ולציין את שם קובץ התוכנית להפעלה.
לדוגמה, אותה דוגמה לעיל תהיה:
cpulimit -l 30 ./derrochecpu.sh &
CPULimit יכול להיות שימושי בעת הפעלת תהליך שצורך יותר מדי שימוש במעבד. בפעם הבאה שנבחין כי תוכנית צורכת יותר מדי מעבד, נצטרך פשוט למצוא את ה- PID של התהליך באמצעות הפקודה «חלק עליון«. כשיש לך את זה, אתה רק צריך להגביל את השימוש במעבד שלך לערך מינימלי באמצעות הפקודה CPULimit כמתואר במאמר זה.
הסר את ההתקנה של CPULimit
הסרת הכלי הזה מהמערכת שלנו היא פשוטה כמו פתיחת מסוף (Ctrl + Alt + T) והקלדה בו:
sudo apt remove cpulimit
מה שתיאר מאמר זה זו רק דוגמה. ברור שאיש לא בשכלו ישיק תסריט כמו זה שתואר כאן במחשב שלהם.
היי
זה מושלם עבור מחשב ישן שיש לי עם amd64 x2 שנראה שיש לו בעיית קירור וכשתהליך גוזל הרבה מעבד למשך מספר דקות, הוא מתחמם עד 100 מעלות צלזיוס ומכבה.
לפיכך, כשאני רואה שתהליך (בדרך כלל אתרים מסוימים או תוכניות טיוח וידאו) גורם לי להעלות את הטמפרטורה של המעבד, אשתמש ב- cpulimit כדי להסיר "כוח" מאותו תהליך.
תודה