Difference between revisions of "Maximizing performance (العربية)"

From ArchWiki
Jump to: navigation, search
(Verynice)
Line 177: Line 177:
 
===Verynice===
 
===Verynice===
 
هو عبارة عن عفريت , متوفر في  مستودع المستخدمين  [[AUR]]  تحت اسم {{AUR|verynice}} , عمله هو تعديل مستوى العمليات المنفذة بطريقة  ديناميكية . اي انه يقوم بإختيار مستوى و الافضالية المثلى  عند تخصيص موارد المعالج من طرف اي عملية .ببساطة يقوم العفريت  بتحديد اولوية  التنفيذية و الاستجابة للعمليات المهمة، وتلك العمليات قد تطلب  من الخادم اكس او برنامج وسائط , عندما يتسم برنامج ب ''goodexe''  في ملف الاعدادات  {{ic|/etc/verynice.conf}}. فالعمليات  المستهلة لموارد المعالج  تشتغل في الخلفية,  برنامج  make  مثلا , يعرفه العفريت على انه ''badexe''.  هذا الوسم  يعطيه الاولوية كبيرة بما انه يشكل حمل كبير عند تشغيله .
 
هو عبارة عن عفريت , متوفر في  مستودع المستخدمين  [[AUR]]  تحت اسم {{AUR|verynice}} , عمله هو تعديل مستوى العمليات المنفذة بطريقة  ديناميكية . اي انه يقوم بإختيار مستوى و الافضالية المثلى  عند تخصيص موارد المعالج من طرف اي عملية .ببساطة يقوم العفريت  بتحديد اولوية  التنفيذية و الاستجابة للعمليات المهمة، وتلك العمليات قد تطلب  من الخادم اكس او برنامج وسائط , عندما يتسم برنامج ب ''goodexe''  في ملف الاعدادات  {{ic|/etc/verynice.conf}}. فالعمليات  المستهلة لموارد المعالج  تشتغل في الخلفية,  برنامج  make  مثلا , يعرفه العفريت على انه ''badexe''.  هذا الوسم  يعطيه الاولوية كبيرة بما انه يشكل حمل كبير عند تشغيله .
 +
 +
===Ulatencyd===
 +
[[Ulatencyd]] هو عفريت يتحكم في كيفية  إنفاق  الموارد على العمليات المشتغلة في نواة لينكس.وهو يستخدم cgroups ديناميكيا  لإعطاء تلميحات و قيود  للنواة لفرضها  على اي  عملية.كما انه  يدعم عمليات تحديد الاولويات لكل من  الإدخال و الإخراج في الاقراص و مشاركة المعالج . هذا العفريت يستخدم إستدلال  أكثر ذكاء من  Verynice  في عملية تنظيم الموارد.
 +
زيادتا عن هذا .العفريت يأتي مع إعدادت رائعة لكنها غير نمطية 
 +
 +
إنذار،  العفريت يغير في  الجدولة الافتراضية  لجميع  الأجهزة الى cfq  ,لكي تعطل هذا الاجراء  شاهد [[Latency]].

Revision as of 01:57, 27 May 2013



هذا المقال هو تحليل وكشف عن الطرق المتبعة للحصول على أداء أفضل في archlinux

أفضل وسيلة لضبط النظام هو إستكشاف الاشياء التي تعرقل العمل ، وعادة ما يمكن تحديدها من خلال معرفة المواصفات للنظام، ولكن هناك بعض المؤشرات الأساسية:

تعرف على نظامك

  • إذا أصبح الكمبيوتر بطيء عند التطبيقات الكبيرة، مثل OpenOffice.org وفايرفوكس، عند اشتغالها في الوقت نفسه، قد تكون ذاكرة الوصول العشوائي غير كافية. للتحقق من ذاكرة الوصول العشوائي المتاحة، استخدام هذا الأمر، تابع السطر الذي يحتوي على -/+buffers:
$ free -m
  • إذا كان وقت الاقلاع بطيئة جدا، او ان التطبيقات تعمل بشكل جيد لكن تأخذ الكثير من الوقت عند تشغيلها اول مرة ، فاربما القرص الصلب بطيئ جدا . سرعة القرص الصلب يمكن قياسها باستخدام الأمر hdparm:
$ hdparm -t /dev/sdx

هذه الامر مجرد اختبار لسرعة القرص الصلب، وليس معيارا يستدل به ، ولكن إذا كانت القيمة تفوق 40MB / ث (على افتراض ان القرص في وضعية خمول ) يمكن لهذه السرعة ان تعتبر لائقة على نظام متوسط , hdparm يمكن العثور عليه في Depots.

  • إذا كان المعالج CPU في حالة حمل باستمرار حتى عندما تكون الذاكرة العشوائية متوفرا، هنا عملية خفض استخدام المعالج يجب أن تكون لها الأولوية في هذه الحالة يمكن رصد تحميل المعالج و التعرف الى عدة معلومات من خلال استخدام الأمر التالي:
$ top
  • إذا كان مشكل البطئ يظهر و فقط في البرامج التي تستعمال التصيير المباشر ، اي أنها تستخدم بطاقة الرسومات، مثل مشغلات الفيديو والألعاب، فاتحسين اداء بطاقة العرض هنا قد يساعد. الخطوة الأولى هي التحقق من إمكانية استعمال التصيير المباشر . ويتم ذلك بالأمر glxinfo:
$ glxinfo | grep direct

glxinfo هو جزء من حزمة mesa-demos.

أول شيء يجب القيام به

الطريقة الأبسط والأكثر فعالية لتحسين الأداء هو استعمال بيئات و تطبيقات خفيفة .

  • استخدام مدير النوافذ بدلا من بيئة سطح المكتب. وتشمل الخيارات dwm, wmii, i3, Awesome, Openbox, Fluxbox and JWM.
  • اختر الحد الأدنى من بيئة سطح المكتب ليس GNOME أو KDE او شبه لهما . بل يستحسن استعمال LXDE او xfce
  • استخدام تطبيقات خفيفة .ابحث هنا عن برامج التي تعمل مع الشيل كذلك يمكن ايجاد التطبيقات المنتقاة و الخفيفة من خلال البحث في المنتدى
  • إزالة الخدمات اللتي ليس لها لزوم .

تسوية

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

اختبارات

نتائج التحسين غالبا ما يصعب الحكم عليها. ومع ذلك يمكن قياسها بأدوات الاختبار

أجهزة التخزين

مخطط الجهاز

واحدة من أكبر المكاسب التي نتحصل عليها في الأداء يأتي من وجود تقسيمات للتخزين متعددة لملفات النظام مثل /home/ ...var/ ...usr . تواجد تلك المجلدات في اقسام منفصلة يزيد في سرعة الجهاز اكثر من ان تتواجد في قسم واحد .

قسم التبادل

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

امتيازات تقنية RAID

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

مسارات الأجهزة متعددة

مسار الأجهزة الداخلية هو كيفية توصيل جهاز التخزين إلى اللوحة الأم. هناك طرق مختلفة للاتصال على لوحة الأم مثل TCP / IP او من خلال NIC، في الوتر مباشرة باستخدام PCIe/PCI ، Raid Card، USB، وما إلى ذلك من مسارات أجهزة التخزين الخاصة بك والتي تختلف حسب نوعية لوحة الأم لديك، على سبيل المثال 6 محركات الأقراص الصلبة المتصلة عبر USB سيكون أبطأ بكثير من ربط 3 اقراص عبر نفس المنفذ . هذا ينطبق على Firewire كذلك . والسبب هو أن كل مسار في اللوحة الأم هو مثل توصيل الأنابيب، فهناك حد لتدفق البيانات خلال هذا الأنبوب عند اتصال واستعمال تلك الاقراص في وقت واحد. والخبر السار هو أن اللوحة الأم لديها عادة عدة أنابيب.

مزيد من الأمثلة

  1. وصلات مباشرة إلى اللوحة الأم باستخدام pci/PCIe/ata
  2. وصلات خارجية لربط و إستضافة الاقراص عبر USB/Firewire
  3. وصلات لربط الجهاز الى وحدة تخزين في الشبكة من خلال tcp/ip

لاحظ أيضا أنه إذا كان لديك 2 منافذ USB على الجزء الأمامي من جهازك ، و 4 منافذ USB من الخلف ، وكان لديك 4 أقراص، فإنه من المحتمل ان تكون السرعة جيدة لو وضع 2 في الأمام 2 من الخلف أو وصل 3 من الخلف و 1 على الواجهة . هذا لأن داخليا المنافذ الأمامي مشترك في الجذر اما من الخلف فهي منفصلة ، مما يعني أنه يمكن إرسال البيانات ضعفي باستخدام جدر لكل جهاز تخزين . استخدم الأوامر التالية لتحديد مسارات مختلفة على جهازك.



USB شجرة اجهزة
$ lsusb -tv
PCI شجرة اجهزة
$ $ lspci -tv

التقسيمات

مخطط التقسيمات لديك يمكن أن يؤثر على أداء النظام. القطاعات في بداية محرك الأقراص (أقرب إلى مركز القرص) أسرع من تلك في نهاية القرص. أيضا، الاقسام الصغيرة تتطلب حركة أقل من الرأس القارئ في محرك الأقراص، لذلك، ينصح لإنشاء قسم صغير (10GB، أكثر أو أقل اعتمادا على احتياجاتك) فقط للنظام الخاص بك، . يجب أن تبقى بيانات أخرى ( مثل الصور والفيديو) على قسم منفصل، وهذا يتحقق عادة عن طريق الفصل بين الدليل الرئيسي من النظام (/)و ملفاتك الخاصة (/home/user)

اختيار وضبط نظام الملفات الخاص بك

اختيار أفضل نظام ملفات مهم جدا لأن لكل منهم نقاط قوة. يوفر دليل المبتدئين موجز قصير عن نظام الملفات لأكثر شعبية. يمكنك أيضا العثور على المواد ذات الصلة هنا.

ملخص

  • XFS: أداء ممتاز مع الملفات الكبيرة. سرعة منخفضة مع ملفات صغيرة. اختيار جيد لل/ الوطن.
  • EXT3: متوسط ​​الأداء والموثوقية.
  • EXT4: الأداء العام العظمى وموثوق بها، لديه مشكلات في الأداء مع سكليتي وبعض قواعد البيانات الأخرى.
  • JFS: الأداء العام جيد، واستخدام وحدة المعالجة المركزية منخفض جدا، واستئناف سريع للغاية بعد انقطاع التيار الكهربائي.
  • Btrfs: ربما أفضل الأداء الكلي (مع الضغط) والكثير من الميزات. لا يزال في التنمية الثقيلة وبشكل كامل دعمها، ولكن تعتبر غير مستقرة. لا تستخدم هذه الملفات حتى الآن إلا إذا كنت تعرف ما تقومون به ونحن على استعداد لاحتمال فقدان البيانات.

خيارات الوصل

خيارات وصل تقدم وسيلة سهلة لتحسين سرعة دون إعادة التهيئة . ويمكن تعيين تلك التحسينات باستخدام امر الوصل التالي:

$ mount -o option1,option2 /dev/partition /mnt/partition

لكي يتم تعيين الخيارات بشكل دائم . يمكنك تحرير /etc/fstab ليصبح على الشكل التالي :

/dev/partition /mnt/partition partitiontype option1,option2 0 0

خيارت وصل noatime,nodiratime تستعمل في جميع انظمة الملفات لتحسين الاداء .nodiratime تعمل مع المجلدات فقط noatime تعمل مع كل من المجلدات والتقسيمات في حالات نادرة، على سبيل المثال إذا كنت تستخدم mutt، فإنه يمكن أن يسبب مشاكل طفيفة. يمكنك بدلا من ذلك استخدام الخيار NB relatim وهو الخيار افتراضي في نواة الاحدث من 2.6.30

Ext3

شاهد Ext3.

Ext4

شاهد Ext4.

JFS

شاهد JFS Filesystem.

XFS

من أجل سرعة مثالية ، إنشاء نظام الملفات XFS بالامر:

$ mkfs.xfs /dev/thetargetpartition

نعم بكل بساطة "boost knobs" are already "on" by default.

Reiserfs

خيار وصل data=writeback يزيد في السرعة ولكن قد يتلف البيانات أثناء فقدان الطاقة. الخيار notail يزيد من المساحة المستخدمة من قبل نظام الملفات بنحو 5٪، ولكن يحسين سرعة بشكل شامل. يمكنك أيضا تقليل الحمل على القرص من خلال وضع النشرة والبيانات على محركات الأقراص منفصلة. ويتم ذلك عند إنشاء نظام الملفات:

$ mkreiserfs –j /dev/hda1 /dev/hdb1

استبدال / dev/hda1 مع قسم النشرة ، و / ​​dev/hdb1 مع قسم البيانات. يمكنك معرفة المزيد عن استعادة ReiserFS مع هذه المقالة.

Btrfs

شاهد تجزئة و ضغط.

ضغط /usr

Note: اعتبارا من الإصدار 3.0 من نواة لينكس، aufs2 لم يعد معتمدا..


المعالج CPU

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

العديد من رقائق انتل i5 و i7 و، حتى عندما تتم العملية بشكل صحيح من خلال واجهة BIOS أو UEFI، لن يقدم تردد صحيح و متزامن لوحدةacpi_cpufreq او للأدوات الاخرى . هذا سيؤدي الى عرض رسائل خطأ و بشكل مفرط في dmesg بسبب التأخير في تحميل وحدة acpi_cpufreq و ينتج من هذا تسجيل الوحدة في القائمة السوداء. الأداة الوحيدة المعروفة للقراءة الصحيحة لسرعة ساعة تعدي الميقت في هذه الرقائق تحت لينكس هو i7z. حزمة i7z يوجد في repo المجتمع وi7z-SVN يوجد في AUR.

وهناك طريقة لتعديل الأداء (مرجع) هو يستخدام عقد Kolivas ترقيعات للنواة الموجهة لسطح المكتب .وبعض التغييرت الاخرى , لتبديل الجدولة المعدلة تماما Completely Fair Scheduler (CFS) بجدولة دماغ اللعنة Brain Fuck Scheduler (BFS).

Note: تم تصميم BFS / CK للكومبيوتر المحمول وليس للخوادم . اي انها موجه الى المعالجة المنخفضة. الطريقة تعمل بشكل جيد مع وحدات المعالجة المركزية التي تحتوي على 16 لب أو أقل. أيضا، Con Kolivas يقترح وضع تردد المعالجات في 1000 هرتز . لمزيد من المعلومات، راجع التعليمات BFS FAQ و صفحة ترقيع النواة مع Kernel patch homepage of Con Kolivas.


Verynice

هو عبارة عن عفريت , متوفر في مستودع المستخدمين AUR تحت اسم veryniceAUR , عمله هو تعديل مستوى العمليات المنفذة بطريقة ديناميكية . اي انه يقوم بإختيار مستوى و الافضالية المثلى عند تخصيص موارد المعالج من طرف اي عملية .ببساطة يقوم العفريت بتحديد اولوية التنفيذية و الاستجابة للعمليات المهمة، وتلك العمليات قد تطلب من الخادم اكس او برنامج وسائط , عندما يتسم برنامج ب goodexe في ملف الاعدادات /etc/verynice.conf. فالعمليات المستهلة لموارد المعالج تشتغل في الخلفية, برنامج make مثلا , يعرفه العفريت على انه badexe. هذا الوسم يعطيه الاولوية كبيرة بما انه يشكل حمل كبير عند تشغيله .

Ulatencyd

Ulatencyd هو عفريت يتحكم في كيفية إنفاق الموارد على العمليات المشتغلة في نواة لينكس.وهو يستخدم cgroups ديناميكيا لإعطاء تلميحات و قيود للنواة لفرضها على اي عملية.كما انه يدعم عمليات تحديد الاولويات لكل من الإدخال و الإخراج في الاقراص و مشاركة المعالج . هذا العفريت يستخدم إستدلال أكثر ذكاء من Verynice في عملية تنظيم الموارد. زيادتا عن هذا .العفريت يأتي مع إعدادت رائعة لكنها غير نمطية

إنذار، العفريت يغير في الجدولة الافتراضية لجميع الأجهزة الى cfq ,لكي تعطل هذا الاجراء شاهد Latency.