לעשות סיפור ארוך קצר, לפני כמה ימים אחד ממפתחי הליבה העלה תיקון (200 שורות קוד) שאיפשרו לשפר משמעותית (כמעט פי 10) את ביצועי המערכת, במיוחד כאשר מתמודדים עם ריבוי משימות במהלך ביצוע משימה כבדה (כגון קומפילציה של הגרעין). לינוס בירך את המפתח הזה על תרומתו הגדולה. עם זאת, מפתח רד האט, לנאר פואטינג לא הסכים ליישם את השיפור הזה ישירות מהגרעין; עדיף היה לו לבצע את השינויים במרחב המשתמשים (~ / .bashrc). לינוס כעס והתלבט במפתח זה ואמר לו שהתוצאות מדברות בעד עצמן. לנאר, במקום להגיב במילים קשות, התיישב והגה חלופה (שאינה זקוקה לתיקון הגרעין) ותופסת רק 4 שורות. בסופו של דבר הם שתקו את לינוס ... |
הערה: שיטה זו דורשת תמיכה בקבוצות משימות בגרעין הלינוקס (קבוצות קבוצות), כלומר, רק משתמשים עם גרעין גבוה מ- 2.6.36 יכולים ליישם אותה.
כיצד ליישם את התיקון בפדורה
1.- ערוך את הקובץ ~ / .bashrc.
gedit ~ / .bashrc
2.- הדבק את הקוד הבא בסוף הקובץ:
אם ["$ PS1"]; לאחר מכן
mkdir -m 0700 / sys / fs / cgroup / cpu / user / $$
הד $$> / sys / fs / cgroup / cpu / user / $$ / משימות
fi
3.- הפעל את הפקודות הבאות:
הר -t cgroup cgroup / sys / fs / cgroup / cpu -o cpu
mkdir -m 0777 / sys / fs / cgroup / cpu / user
כיצד להחיל את התיקון באובונטו
באובונטו הדברים קצת יותר מסובכים ...
1.- ערוך את הקובץ rc.local עם פקודה זו:
sudo gedit /etc/rc.local
והדבק לפני שם כתוב "יציאה 0", את הדברים הבאים:
mkdir -p / dev / cgroup / cpu
הר -t cgroup cgroup / dev / cgroup / cpu -o cpu
mkdir -m 0777 / dev / cgroup / cpu / user
הד "/ usr / local / sbin / cgroup_clean"> / dev / cgroup / cpu / release_agent
2.- שמור את הקובץ והעניק לו הרשאות ביצוע:
sudo chmod + x /etc/rc.local
3.- ערוך את הקובץ ~ / .bashrc:
gedit ~ / .bashrc
4.- הדבק את הקוד הבא בסוף הקובץ:
אם ["$ PS1"];
ואז mkdir -m 0700 / dev / cgroup / cpu / user / $$
הד $$> / dev / cgroup / cpu / user / $$ / משימות
הד "1"> / dev / cgroup / cpu / user / $$ / notify_on_release
fi
5.- שנה את קובץ cgroup_clean:
sudo gedit / usr / local / sbin / cgroup_clean
6.- הדבק את הקוד הבא בסוף הקובץ:
# / Bin / sh
אם ["$ *"! = "/ משתמש"]; לאחר מכן
rmdir / dev / cgroup / cpu / $ *
fi
7.- שמור את הקובץ והעניק לו הרשאות ביצוע:
sudo chmod + x / usr / local / sbin / cgroup_clean
8.- אתחל את המערכת מחדש.
הערה: אם אתה רואה את / dev / cgroup / folder, תבחין בשיפור ניכר בניהול ריבוי המשימות.
מצאתי את ההוראות עבור Arch, הן כאן: http://pastebin.com/raw.php?i=sHRYRuAN
אני מצדי החלתי את התיקון, הרבה שיפור שאני לא שם לב אליו באופן כללי, אבל אם אתה מבחין בשינוי גדול בעת גלילה בדפי האינטרנט, הם ממש קולחים בפעם הראשונה !!! =)
גדול! תודה רבה על השיתוף!
אמרתי לך שאנחנו מחפשים אנשים שמשתמשים בקשת לבלוג? אם אתה מעוניין, כתוב ל בוא נשתמש ב-linux@gmail.com
חיבוק גדול! פול.
תודה על ההזמנה, ואז נמשיך בדואר ואז 😉
במקרה לא יהיו הוראות לארצלינוקס, נכון? 🙂
לא מצאתי אותם. אבל משהו אומר לי שזה בטוח דומה יותר לפדורה. מצד שני, יש לזכור שככל שכולם מרכיבים את Arch כפי שהם רוצים, אולי זה משפיע על הנוהל שיבוצע ...
כאן מצאתי כיצד ליישם אותם ב- Archlinux, זה די דומה לפדורה: http://pastebin.com/raw.php?i=sHRYRuAN
bash: / dev / cgroup / cpu / user / $ / משימות: הקובץ או הספריה אינם קיימים
עקבתי אחר ההוראות האלה וזה כל הזמן אומר לי את השגיאה הזו בעת פתיחת מסוף AMD64 x אם יש לו מה לעשות
כבר מצאתי את זה, בבקשה פבלו תקן את זה http://www.webupd8.org/2010/11/alternative-to-200-lines-kernel-patch.html
מה לעשות באובונטו - במקום מה ששמת - הוא:
sudo gedit / usr / local / sbin / cgroup_clean
ושם את זה:
# / Bin / sh
אם ["$ *"! = "/ משתמש"]; לאחר מכן
rmdir / dev / cgroup / cpu / $ *
fi
מוּכָן! מְתוּקָן! תודה!
זה נכון! תודה שהזכרת לי!
הרגע הוספתי את ההבהרה הזו בתחילת הפוסט.
חיבוק! פול.
באופן ספציפי אילו יתרונות אקבל כמשתמש ואילו שיפורי ביצועים נראה במערכת שלי.
הכל הולך הרבה יותר מהר. עם זאת, ההבדלים באמת "נראים" כאשר אתה מבצע משימה כבדה ורוצה לבצע משימות אחרות במקביל. לדוגמה, אתה מריץ התקנה של מספר תוכניות או שאתה מרכיב את הגרעין או עורך סרטון כבד ובמקביל אתה רוצה לגלוש באינטרנט או לצפות בסרט וכו '.
ספר לי אם תגלה כיצד ליישם את התיקון ב- Arch. אנסה להריץ את זה שעובד בפדורה.
לְחַבֵּק! פול.
אני מניח שזה תלוי בשימוש שאתה נותן למחשב שלך. אם אתה בקושי משתמש באינטרנט ובעורך טקסט קליל כלשהו ... לא "תרגיש" את ההבדל. מצד שני, אם אתה כמוני ועושה משימות כבדות (כגון המרת סרטונים, קומפילציה של הגרעין וכו ') בעת גלישה באינטרנט או צפייה בסרטים, אתה יכול להבדיל.
אחרי כל השלבים, כשאני פותח את הטרמינל אני תמיד מקבל את הדברים הבאים:
mkdir: לא ניתן ליצור ספרייה "/ dev / cgroup / cpu / user / 1844": הקובץ או הספריה אינם קיימים
bash: / dev / cgroup / cpu / user / 1844 / משימות: הקובץ או הספריה אינם קיימים
bash: / dev / cgroup / cpu / user / 1844 / notify_on_release: הקובץ או הספריה אינם קיימים
domingopv @ pc1: ~ $
הכל עובד בסדר אפילו הטרמינל, עשית משהו לא בסדר?
ממממ ... אני באמת לא יודע מה זה יכול להיות. עם זאת, אני מתרשם כי סביר מאוד להניח שלא עשיתם טוב בחלק מהצעדים, במיוחד מ -5 ואילך. נסה לחזור עליהם או לוודא שזכית להם. זה כל מה שאני יכול לחשוב עליו בינתיים.
חיבוק גדול! פול.
התקן מחדש את maverick והתקן מחדש את התיקון ועכשיו אני מקבל את הדברים הבאים.
mkdir: לא ניתן ליצור ספרייה "/ dev / cgroup / cpu / user / 1678": הקובץ או הספריה אינם קיימים
bash: / dev / cgroup / cpu / user / 1678 / משימות: הקובץ או הספריה אינם קיימים
bash: / dev / cgroup / cpu / user / 1678 / notify_on_release: הקובץ או הספריה אינם קיימים
domingopv @ pc1: ~ $
אויי .. אני באמת לא יודע מה זה יכול להיות. זה עבד לי מושלם.
משהו אומר לי שניקוי קבוצות לא מתפקד טוב. לכן התעקשתי שתראה משלב 5 ואילך.
לחיים! פול.
אמא שלי, מרשימה, אני יכולה לראות סרטוני פלאש של 1080p ב- nvidia 8400 פסיבית, זאת אומרת, רע רע, באופן מושלם, המעבד הכל עובד, נפלא, משתפר, זה הרבה יותר טוב, יש לי את אובונטו 10.04, טוב, קטעי וידאו טובים בשבילי חחח 😀
איזה rc.local? יש כמה, מה זה? בברכה.
פשוט כתבתי את הפקודות המפורטות בנקודה 4. אינך צריך להעתיק את זה לקובץ אלא להריץ את הפקודות האלה.
לחיים! פול.
זה מוסבר בצורה גרועה.
מה שעליך לעשות הוא לערוך את הקובץ rc.local באמצעות:
sudo gedit /etc/rc.local
עליך להדביק בפנים (לפני יציאה 0):
mkdir -p / dev / cgroup / cpu
הר -t cgroup cgroup / dev / cgroup / cpu -o cpu
mkdir -m 0777 / dev / cgroup / cpu / user
הד "/ usr / local / sbin / cgroup_clean"> / dev / cgroup / cpu / release_agent
זאת הבעיה. צעדים אלה מוסברים בצורה גרועה.
אתה צודק! כתוב בבירור, "ערוך את הקובץ rc.local." מה שהיה חסר להוסיף הוא הפקודה לעשות דבר כזה (שחלקם אולי לא יודעים עליו). אני מוסיף את זה עכשיו.
תודה על ההודעה! לחיים! פול.
מה יהיה ההליך ב- PCLinuxOs?
האמת היא שאני לא יודע ...
אם גיליתם, אל תשכחו לשתף את הנתונים עם השאר!
תודה רבה לך!
לחיים! פול.
נראה לי או שלא שמרת שום סימוכין מהיכן השגת את זה? אתה יכול לספר לי את המקור?
תודה
אין מקור אחד. חיפשתי כיצד לעשות זאת ממקורות שונים ומניסיוני האישי. באופן כללי, אני יכול לומר לך שהמקורות הם מיליוני הבלוגים שהשחזרו את אותה חדשות. חפש "תיקון 200 קווי הליבה של לינוקס" ותראה על מה אני מדבר. אני לא זוכר בדיוק, אבל ייתכן שחלקו של אובונטו הושג מ- WebUpd8; לא כך של פדורה.
אני משתמש לפני זמן לא רב, של 64 סיביות של אובונטו וכשאני רואה את הטיפ הזה אני מתחיל לחקור את הגרעין הנוכחי שיש לי הוא 2.6.32-27 על פי ההודעה, ניתן להחיל את התיקון רק על גרעינים ש גבוהים יותר או שווים ל- 2.6.36 השאלה שלי היא אם שינוי זה עובד רק עבור הפצות של 32 סיביות או בהפצה הנוכחית שלי האם ניתן לעדכן את הגרעין ל- 2.6.36?
תודה על כל המידע באינטרנט, חומר מצוין.
שינוי זה עובד עבור 32 ו 64 ביט, זהה.
לחיים! פול.
לשאלה, וזה לא יתעסק עם שום עדכון מאוחר יותר?
אם זה לא ילך טוב, מה יהיה הגרוע ביותר שיכול לקרות?
(אתה רואה שאז רק מעבר מאובונטו 10.04 ל -10.10 קורס הכל)
הדבר הראשון שצריך להבהיר (כדי להימנע משימוש לא אחראי בשיטה) הוא שהוא דורש תמיכה בקבוצות משימות בגרעין לינוקס (קבוצות קבוצות), כלומר, רק משתמשים עם גרעין גדול מ- 2.6.36 יוכלו ליישם שיטה זו. של שיפור.