تصحيح جديد من 4 أسطر يمكن أن يزيد بشكل كبير من أداء نظامك

لجعل قصة طويلة قصيرة ، قبل أيام قليلة قام أحد مطوري النواة بتحميل تصحيح (200 سطر من التعليمات البرمجية) التي سمحت بتحسين أداء النظام بشكل كبير (تقريبًا 10 مرات) ، خاصة عند التعامل مع تعدد المهام أثناء تنفيذ مهمة ثقيلة (مثل تجميع النواة). هنأ لينوس هذا المطور على مساهمته الكبيرة. ومع ذلك ، فإن مطور Red Hat ، لم يوافق Lennar Poettering على تنفيذ هذا التعزيز مباشرة من النواة ؛ كان من الأفضل له إجراء التغييرات في مساحة المستخدم (~ /. بشرك). غضب لينوس ووبخ هذا المطور ، وأخبره أن النتائج تحدثت عن نفسها. وبدلاً من أن يرد لينار بكلمات قاسية ، جلس ويفكر بديل (لا يحتاج إلى تصحيح النواة) ويشغل 4 أسطر فقط. في النهاية ، قاموا بإغلاق لينوس ... 

ملاحظة: تتطلب هذه الطريقة دعمًا لمجموعات المهام في Linux Kernel (cgroups) ، أي أنه يمكن فقط للمستخدمين الذين لديهم Kernel أعلى من 2.6.36 تطبيقه.

كيفية تطبيق التصحيح في فيدورا

1.- قم بتحرير ملف ~ / .bashrc.

gedit ~ / .bashrc

2.- الصق الكود التالي في نهاية الملف:

إذا ["$ PS1"] ؛ ثم
mkdir -m 0700 / sys / fs / cgroup / cpu / user / $$
echo $$> / sys / fs / cgroup / cpu / user / $$ / مهام
fi

3.- قم بتشغيل الأوامر التالية:

mount -t cgroup cgroup / sys / fs / cgroup / cpu -o cpu
mkdir -m 0777 / sys / fs / cgroup / وحدة المعالجة المركزية / المستخدم

كيفية تطبيق التصحيح في أوبونتو

الأمور في أوبونتو أكثر تعقيدًا بعض الشيء ...

1.- قم بتحرير الملف rc.local بهذا الأمر:

سودو gedit /etc/rc.local

والصق قبل ذلك حيث تقول "خروج 0" ، ما يلي:

mkdir -p / dev / cgroup / cpu
mount -t cgroup cgroup / dev / cgroup / cpu -o cpu
mkdir -m 0777 / dev / cgroup / cpu / user
echo "/ 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 / $$
echo $$> / dev / cgroup / cpu / user / $$ / مهام
صدى "1"> / dev / cgroup / cpu / user / $$ / notify_on_release
fi

5.- قم بتعديل ملف cgroup_clean:

sudo gedit / usr / local / sbin / cgroup_clean

6.- الصق الكود التالي في نهاية الملف:

# / بن / ش
إذا ["$ *"! = "/ مستخدم"] ؛ ثم
rmdir / dev / cgroup / وحدة المعالجة المركزية / $ *
fi

7.- احفظ الملف وامنحه أذونات التنفيذ:

sudo chmod + x / usr / local / sbin / cgroup_clean

8.- أعد تشغيل النظام.

ملاحظة: إذا رأيت المجلد / dev / cgroup / ، فستلاحظ تحسنًا كبيرًا في إدارة المهام المتعددة.

اترك تعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها ب *

*

*

  1. المسؤول عن البيانات: ميغيل أنخيل جاتون
  2. الغرض من البيانات: التحكم في الرسائل الاقتحامية ، وإدارة التعليقات.
  3. الشرعية: موافقتك
  4. توصيل البيانات: لن يتم إرسال البيانات إلى أطراف ثالثة إلا بموجب التزام قانوني.
  5. تخزين البيانات: قاعدة البيانات التي تستضيفها شركة Occentus Networks (الاتحاد الأوروبي)
  6. الحقوق: يمكنك في أي وقت تقييد معلوماتك واستعادتها وحذفها.

  1.   ثالسكارث قال

    لقد وجدت التعليمات الخاصة بـ Arch ، فهي هنا: http://pastebin.com/raw.php?i=sHRYRuAN

    من جهتي ، قمت بتطبيق التصحيح ، الكثير من التحسن الذي لا ألاحظه بشكل عام ، لكن إذا لاحظت تغيرًا كبيرًا عند التمرير في صفحات الويب ، فهي سائلة بالفعل لأول مرة !!! =)

  2.   لنستخدم لينكس قال

    عظيم! شكرا جزيلا للمشاركة!
    هل أخبرتك أننا نبحث عن أشخاص يستخدمون آرتش للتدوين؟ إذا كنت مهتمًا ، فاكتب إلينا دعونا uselinux@gmail.com
    عناق كبير! بول.

  3.   ثالسكارث قال

    شكرا على الدعوة ثم نتابع بالبريد ثم then

  4.   ثالسكارث قال

    بالصدفة لن تكون هناك تعليمات لـ Archlinux ، أليس كذلك؟ 🙂

  5.   لنستخدم لينكس قال

    لم أجدهم. لكن شيئًا ما يخبرني أنه بالتأكيد يشبه فيدورا. من ناحية أخرى ، يجب ألا يغيب عن البال أنه نظرًا لأن الجميع يجمعون القوس كما يريدون ، فربما يؤثر ذلك على الإجراء الذي يجب اتباعه ...

  6.   ثالسكارث قال

    لقد وجدت هنا كيفية تطبيقها في Archlinux ، فهي تشبه إلى حد كبير فيدورا: http://pastebin.com/raw.php?i=sHRYRuAN

  7.   ميكيل مايول طور قال

    bash: / dev / cgroup / cpu / user / $ / مهام: الملف أو الدليل غير موجود

    لقد اتبعت هذه التعليمات واستمر في إخباري بهذا الخطأ عند فتح المحطة الطرفية AMD64 x إذا كان لديه ما يجب فعله

  8.   ميكيل مايول طور قال

    لقد وجدته بالفعل ، يرجى تصحيحه بابلو http://www.webupd8.org/2010/11/alternative-to-200-lines-kernel-patch.html

    ما يجب فعله في أوبونتو - بدلاً من ما تضعه - هو:

    sudo gedit / usr / local / sbin / cgroup_clean

    و ضع هذا:

    # / بن / ش
    إذا ["$ *"! = "/ مستخدم"] ؛ ثم
    rmdir / dev / cgroup / وحدة المعالجة المركزية / $ *
    fi

  9.   لنستخدم لينكس قال

    جاهز! تصحيح! شكرا!

  10.   لنستخدم لينكس قال

    هذا صحيح! شكرا لتذكيري!
    لقد أضفت للتو هذا التوضيح في بداية المنشور.
    عناق! بول.

  11.   داسينكس قال

    على وجه التحديد ، ما الفوائد التي سأحصل عليها كمستخدم ، وما هي تحسينات الأداء التي ستظهر في نظامي.

  12.   لنستخدم لينكس قال

    كل شيء يسير بشكل أسرع. ومع ذلك ، تظهر الاختلافات حقًا عندما تقوم بمهمة ثقيلة وتريد القيام بمهام أخرى في نفس الوقت. على سبيل المثال ، تقوم بتشغيل تثبيت عدة برامج أو تقوم بتجميع النواة أو تحرير مقطع فيديو ثقيل وفي نفس الوقت تريد تصفح الإنترنت أو مشاهدة فيلم ، إلخ.

  13.   لنستخدم لينكس قال

    اسمحوا لي أن أعرف إذا اكتشفت كيفية تنفيذ التصحيح في Arch. سأحاول تشغيل التصحيح الذي يعمل في Fedora.
    عناق! بول.

  14.   لنستخدم لينكس قال

    أعتقد أن هذا يعتمد على الاستخدام الذي تقدمه لجهاز الكمبيوتر الخاص بك. إذا كنت بالكاد تستخدم الإنترنت وبعض محررات النصوص الخفيفة ... فلن "تشعر" بالفرق. من ناحية أخرى ، إذا كنت مثلي وتقوم بمهام ثقيلة (مثل تحويل مقاطع الفيديو ، وتجميع النواة ، وما إلى ذلك) أثناء تصفح الإنترنت أو مشاهدة الأفلام ، فيمكنك معرفة الفرق.

  15.   دومينغوبف قال

    بعد كل الخطوات ، عندما أقوم بفتح الجهاز ، أحصل دائمًا على ما يلي:
    mkdir: لا يمكن إنشاء دليل "/ dev / cgroup / cpu / user / 1844": الملف أو الدليل غير موجود
    bash: / dev / cgroup / cpu / user / 1844 / مهام: الملف أو الدليل غير موجود
    bash: / dev / cgroup / cpu / user / 1844 / notify_on_release: الملف أو الدليل غير موجود
    domingopv @ pc1: ~ $
    كل شيء يعمل بشكل جيد حتى المحطة ، هل فعلت شيئًا خاطئًا؟

  16.   لنستخدم لينكس قال

    ممممم ... لا أعرف حقًا ما يمكن أن يكون. ومع ذلك ، لدي انطباع بأنه من المحتمل جدًا أنك لم تقم ببعض الخطوات جيدًا ، من 5 فصاعدًا على وجه الخصوص. حاول تكرارها أو التأكد من أنك فهمتها بشكل صحيح. هذا كل ما يمكنني التفكير فيه الآن.
    عناق كبير! بول.

  17.   دومينغوبف قال

    أعد تثبيت المنشق وأعد تثبيت التصحيح والآن أحصل على ما يلي.
    mkdir: لا يمكن إنشاء دليل "/ dev / cgroup / cpu / user / 1678": الملف أو الدليل غير موجود
    bash: / dev / cgroup / cpu / user / 1678 / مهام: الملف أو الدليل غير موجود
    bash: / dev / cgroup / cpu / user / 1678 / notify_on_release: الملف أو الدليل غير موجود
    domingopv @ pc1: ~ $

  18.   لنستخدم لينكس قال

    Uyy .. أنا لا أعرف حقًا ما يمكن أن يكون. عملت بشكل مثالي بالنسبة لي.
    يخبرني شيء ما أن تنظيف المجموعة لا يعمل بشكل جيد. هذا هو السبب في إصراري على أن ترى من الخطوة 5 فصاعدًا.
    في صحتك! بول.

  19.   أنا لا أقول قال

    يا أمي ، رائعة ، يمكنني مشاهدة مقاطع فيديو فلاش 1080 بكسل على nvidia 8400 السلبي ، أعني ، سيء ، تمامًا ، cpus يعمل بالكامل ، uffff رائع ، يتحسن ، إنه أفضل بكثير ، لدي Ubuntu 10.04 جيد ، مقاطع الفيديو جيدة بالنسبة لي هاهاها 😀

  20.   ديلانو قال

    ما rc.local؟ يوجد العديد منها؟ تحية طيبة.

  21.   لنستخدم لينكس قال

    لقد كتبت للتو الأوامر المذكورة في النقطة 4. لست مضطرًا لنسخ ذلك في ملف ولكن عليك تشغيل هذه الأوامر.
    في صحتك! بول.

  22.   نصائح جنو / لينكس قال

    تم شرحه بشكل سيء.

    ما عليك فعله هو تحرير ملف rc.local باستخدام:

    سودو gedit /etc/rc.local

    عليك لصق الداخل (قبل الخروج 0):

    mkdir -p / dev / cgroup / cpu
    mount -t cgroup cgroup / dev / cgroup / cpu -o cpu
    mkdir -m 0777 / dev / cgroup / cpu / user
    echo "/ usr / local / sbin / cgroup_clean"> / dev / cgroup / cpu / release_agent

    تلك هي المشكلة. تم شرح هذه الخطوات بشكل سيئ.

  23.   لنستخدم لينكس قال

    أنت محق! تقول بوضوح ، "قم بتحرير ملف rc.local." ما ينقص إضافته هو الأمر بفعل شيء كهذا (قد لا يعرفه البعض). أضفته الآن.
    شكرا على الاشعار! مع تحياتي! بول.

  24.   اسبينوزا قال

    ماذا سيكون الإجراء في PCLinuxOs؟

  25.   لنستخدم لينكس قال

    الحقيقة أنني لا أعرف ...
    إذا اكتشفت ذلك ، فلا تنس مشاركة البيانات مع البقية!
    شكرا جزيلا لك!
    في صحتك! بول.

  26.   جونهو قال

    يبدو لي أو أنك لم تضع أي مرجع من أين حصلت عليه؟ هل يمكن أن تخبرني المصدر؟

    شكرا

  27.   لنستخدم لينكس قال

    لا يوجد مصدر واحد. كنت أبحث عن كيفية القيام بذلك من مصادر مختلفة ومن تجربتي الشخصية. بشكل عام ، أستطيع أن أخبرك أن المصادر هي ملايين المدونات التي أعادت إنتاج تلك الأخبار. ابحث عن "patch 200 linux kernel lines" وسترى ما أتحدث عنه. لا أتذكر بالضبط ، ولكن ربما تم الحصول على جزء Ubuntu من WebUpd8 ؛ ليس هكذا فيدورا.

  28.   امين قال

    أنا مستخدم منذ وقت ليس ببعيد ، لـ Ubuntu 64 بت وعندما أرى هذه النصيحة أبدأ في التحقيق والنواة الحالية التي أمتلكها هي 2.6.32-27 وفقًا للمنشور ، لا يمكن تطبيق هذا التصحيح إلا على النواة التي هي أعلى أو تساوي 2.6.36 سؤالي هو إذا كان هذا التغيير يعمل فقط مع توزيعات 32 بت أو في توزيعة الحالية ، هل يمكن تحديث النواة إلى 2.6.36؟

    شكرا لجميع المعلومات على شبكة الإنترنت ، مادة ممتازة.

  29.   لنستخدم لينكس قال

    يعمل هذا التغيير مع 32 بت و 64 بت على حد سواء.
    في صحتك! بول.

  30.   السيد توكسيتو قال

    لسؤال ، وهذا لن يعبث مع أي تحديث لاحق؟
    إذا لم تسر الأمور على ما يرام ، فما هو أسوأ ما يمكن أن يحدث؟
    (ترى أن مجرد الانتقال من Ubuntu 10.04 إلى 10.10 يؤدي إلى تعطل كل شيء)

  31.   jesuslara قال

    أول شيء يجب توضيحه (لتجنب الاستخدام غير المسؤول للطريقة) هو أنها تتطلب دعمًا لمجموعات المهام في Linux Kernel (cgroups) ، أي أن المستخدمين الذين لديهم Kernel أعلى من 2.6.36 يمكنهم فقط تطبيق هذه الطريقة من التحسن.