لجعل قصة طويلة قصيرة ، قبل أيام قليلة قام أحد مطوري النواة بتحميل تصحيح (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 / ، فستلاحظ تحسنًا كبيرًا في إدارة المهام المتعددة.
لقد وجدت التعليمات الخاصة بـ Arch ، فهي هنا: http://pastebin.com/raw.php?i=sHRYRuAN
من جهتي ، قمت بتطبيق التصحيح ، الكثير من التحسن الذي لا ألاحظه بشكل عام ، لكن إذا لاحظت تغيرًا كبيرًا عند التمرير في صفحات الويب ، فهي سائلة بالفعل لأول مرة !!! =)
عظيم! شكرا جزيلا للمشاركة!
هل أخبرتك أننا نبحث عن أشخاص يستخدمون آرتش للتدوين؟ إذا كنت مهتمًا ، فاكتب إلينا دعونا uselinux@gmail.com
عناق كبير! بول.
شكرا على الدعوة ثم نتابع بالبريد ثم then
بالصدفة لن تكون هناك تعليمات لـ Archlinux ، أليس كذلك؟ 🙂
لم أجدهم. لكن شيئًا ما يخبرني أنه بالتأكيد يشبه فيدورا. من ناحية أخرى ، يجب ألا يغيب عن البال أنه نظرًا لأن الجميع يجمعون القوس كما يريدون ، فربما يؤثر ذلك على الإجراء الذي يجب اتباعه ...
لقد وجدت هنا كيفية تطبيقها في 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
و ضع هذا:
# / بن / ش
إذا ["$ *"! = "/ مستخدم"] ؛ ثم
rmdir / dev / cgroup / وحدة المعالجة المركزية / $ *
fi
جاهز! تصحيح! شكرا!
هذا صحيح! شكرا لتذكيري!
لقد أضفت للتو هذا التوضيح في بداية المنشور.
عناق! بول.
على وجه التحديد ، ما الفوائد التي سأحصل عليها كمستخدم ، وما هي تحسينات الأداء التي ستظهر في نظامي.
كل شيء يسير بشكل أسرع. ومع ذلك ، تظهر الاختلافات حقًا عندما تقوم بمهمة ثقيلة وتريد القيام بمهام أخرى في نفس الوقت. على سبيل المثال ، تقوم بتشغيل تثبيت عدة برامج أو تقوم بتجميع النواة أو تحرير مقطع فيديو ثقيل وفي نفس الوقت تريد تصفح الإنترنت أو مشاهدة فيلم ، إلخ.
اسمحوا لي أن أعرف إذا اكتشفت كيفية تنفيذ التصحيح في Arch. سأحاول تشغيل التصحيح الذي يعمل في Fedora.
عناق! بول.
أعتقد أن هذا يعتمد على الاستخدام الذي تقدمه لجهاز الكمبيوتر الخاص بك. إذا كنت بالكاد تستخدم الإنترنت وبعض محررات النصوص الخفيفة ... فلن "تشعر" بالفرق. من ناحية أخرى ، إذا كنت مثلي وتقوم بمهام ثقيلة (مثل تحويل مقاطع الفيديو ، وتجميع النواة ، وما إلى ذلك) أثناء تصفح الإنترنت أو مشاهدة الأفلام ، فيمكنك معرفة الفرق.
بعد كل الخطوات ، عندما أقوم بفتح الجهاز ، أحصل دائمًا على ما يلي:
mkdir: لا يمكن إنشاء دليل "/ dev / cgroup / cpu / user / 1844": الملف أو الدليل غير موجود
bash: / dev / cgroup / cpu / user / 1844 / مهام: الملف أو الدليل غير موجود
bash: / dev / cgroup / cpu / user / 1844 / notify_on_release: الملف أو الدليل غير موجود
domingopv @ pc1: ~ $
كل شيء يعمل بشكل جيد حتى المحطة ، هل فعلت شيئًا خاطئًا؟
ممممم ... لا أعرف حقًا ما يمكن أن يكون. ومع ذلك ، لدي انطباع بأنه من المحتمل جدًا أنك لم تقم ببعض الخطوات جيدًا ، من 5 فصاعدًا على وجه الخصوص. حاول تكرارها أو التأكد من أنك فهمتها بشكل صحيح. هذا كل ما يمكنني التفكير فيه الآن.
عناق كبير! بول.
أعد تثبيت المنشق وأعد تثبيت التصحيح والآن أحصل على ما يلي.
mkdir: لا يمكن إنشاء دليل "/ dev / cgroup / cpu / user / 1678": الملف أو الدليل غير موجود
bash: / dev / cgroup / cpu / user / 1678 / مهام: الملف أو الدليل غير موجود
bash: / dev / cgroup / cpu / user / 1678 / notify_on_release: الملف أو الدليل غير موجود
domingopv @ pc1: ~ $
Uyy .. أنا لا أعرف حقًا ما يمكن أن يكون. عملت بشكل مثالي بالنسبة لي.
يخبرني شيء ما أن تنظيف المجموعة لا يعمل بشكل جيد. هذا هو السبب في إصراري على أن ترى من الخطوة 5 فصاعدًا.
في صحتك! بول.
يا أمي ، رائعة ، يمكنني مشاهدة مقاطع فيديو فلاش 1080 بكسل على nvidia 8400 السلبي ، أعني ، سيء ، تمامًا ، cpus يعمل بالكامل ، uffff رائع ، يتحسن ، إنه أفضل بكثير ، لدي Ubuntu 10.04 جيد ، مقاطع الفيديو جيدة بالنسبة لي هاهاها 😀
ما rc.local؟ يوجد العديد منها؟ تحية طيبة.
لقد كتبت للتو الأوامر المذكورة في النقطة 4. لست مضطرًا لنسخ ذلك في ملف ولكن عليك تشغيل هذه الأوامر.
في صحتك! بول.
تم شرحه بشكل سيء.
ما عليك فعله هو تحرير ملف 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
تلك هي المشكلة. تم شرح هذه الخطوات بشكل سيئ.
أنت محق! تقول بوضوح ، "قم بتحرير ملف rc.local." ما ينقص إضافته هو الأمر بفعل شيء كهذا (قد لا يعرفه البعض). أضفته الآن.
شكرا على الاشعار! مع تحياتي! بول.
ماذا سيكون الإجراء في PCLinuxOs؟
الحقيقة أنني لا أعرف ...
إذا اكتشفت ذلك ، فلا تنس مشاركة البيانات مع البقية!
شكرا جزيلا لك!
في صحتك! بول.
يبدو لي أو أنك لم تضع أي مرجع من أين حصلت عليه؟ هل يمكن أن تخبرني المصدر؟
شكرا
لا يوجد مصدر واحد. كنت أبحث عن كيفية القيام بذلك من مصادر مختلفة ومن تجربتي الشخصية. بشكل عام ، أستطيع أن أخبرك أن المصادر هي ملايين المدونات التي أعادت إنتاج تلك الأخبار. ابحث عن "patch 200 linux kernel lines" وسترى ما أتحدث عنه. لا أتذكر بالضبط ، ولكن ربما تم الحصول على جزء Ubuntu من WebUpd8 ؛ ليس هكذا فيدورا.
أنا مستخدم منذ وقت ليس ببعيد ، لـ Ubuntu 64 بت وعندما أرى هذه النصيحة أبدأ في التحقيق والنواة الحالية التي أمتلكها هي 2.6.32-27 وفقًا للمنشور ، لا يمكن تطبيق هذا التصحيح إلا على النواة التي هي أعلى أو تساوي 2.6.36 سؤالي هو إذا كان هذا التغيير يعمل فقط مع توزيعات 32 بت أو في توزيعة الحالية ، هل يمكن تحديث النواة إلى 2.6.36؟
شكرا لجميع المعلومات على شبكة الإنترنت ، مادة ممتازة.
يعمل هذا التغيير مع 32 بت و 64 بت على حد سواء.
في صحتك! بول.
لسؤال ، وهذا لن يعبث مع أي تحديث لاحق؟
إذا لم تسر الأمور على ما يرام ، فما هو أسوأ ما يمكن أن يحدث؟
(ترى أن مجرد الانتقال من Ubuntu 10.04 إلى 10.10 يؤدي إلى تعطل كل شيء)
أول شيء يجب توضيحه (لتجنب الاستخدام غير المسؤول للطريقة) هو أنها تتطلب دعمًا لمجموعات المهام في Linux Kernel (cgroups) ، أي أن المستخدمين الذين لديهم Kernel أعلى من 2.6.36 يمكنهم فقط تطبيق هذه الطريقة من التحسن.