Improving performance (العربية)

From ArchWiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Tango-preferences-desktop-locale-modified.pngThe translation of this article or section does not reflect the original text.Tango-preferences-desktop-locale-modified.png

Reason: Last updated in 2013 (259183), out of sync with English page (Discuss in Talk:Improving performance (العربية))

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

أساسيات

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

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

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

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

  • إذا كان المعالج 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:في العام .الاداء موثوق به عند الضغط في العمل ، لديه مشكلات في الأداء مع sqlite وبعض قواعد البيانات الأخرى.
  • JFS: الأداء العام جيد، واستخدام المعالج منخفض جدا، واستئناف سريع للغاية بعد انقطاع التيار الكهربائي.
  • Btrfs: ربما أفضل أداء من الكل (مع الضغط) ومع الكثير من الميزات.لكن لا يزال في التطوير و لم يتم دعم الكثير من الاشياء ا، وهذ يجعل من نظام الملفات غير مستقر . لا تستخدم هذ النوع من نظام الملفات إلا إذا كنت تعرف ما تقوم به لأن لاحتمال فقدان البيانات وارد جدا.

خيارات الوصل mount

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

$ 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[dead link 2021-11-11 ⓘ].

Reiserfs

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

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

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

Btrfs

شاهد تجزئة[broken link: invalid section] و ضغط[broken link: invalid section].

ضغط /usr

ملاحظة: اعتبارا من الإصدار 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).

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

Verynice

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

الرسومات

Xorg.conf مكونات

أداء العرض يعتمد بشكل مباشر على إعدادات في /etc/X11/xorg.conf. هناك دروس لبطاقات NVIDIA, ATI و Intel . قد يتسبب إعداد غير لائق في توقف خادم العرض اكس ، لذلك ينصح الحذر.

Driconf

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

تعدي ميقت بطاقات العرض

تعدي الميقت في بطاقات العرض اكثر مرونة و فاعلية مما هو عليه في المعالج . لأن الحزم البرمجية متوفرة لجميع البطاقات .يمكنك تغيير تردد البطاقات في حالة التشغيل اي على نحو ماشر.في ما يخص مستعملي بطاقات ATI يمكنهم استعمال rovclockAUR or amdoverdrivectrlAUR[broken link: package not found] . اما Nvidia برنامج nvclock متوفر في المستودع الاضافي مستعملي بطاقات Intel يمكنهم الحصول على برنامج GMABooster وهو متوفر في مستودع المستخدمين gmaboosterAUR .

الذاكرة العشوائية ram و التبديل swap

إعادة توجيه الملفات المؤقتة

إعادة توجيه الملفات كابيانات المتصفح الى مكان مؤقت tmpfs, قد يشمل المكان كل من /tmp, او /dev/shm.سيحسن في الاستجابة , هذا لأن جميع البيانات توضع في الذاكرة العشوائية للجهاز .

استخدام سكريبت نصي لإدارة النشاطات بموثوقية وسهولة

رابط الى Profile-sync-daemon صفحة ويكي .لزيادة المعلومات عن المزامنة في بيانات المتصفحات

رابط الى Anything-sync-daemonصفحة ويكي .لزيادة المعلومات عن المزامنة في بيانات المجلدات

تبديل اقل

المقصود من التبديل الاقل هو افضلية استعمال الذاكرة العشوائية من طرف النواة . عند تعيين قيمة صغيرة من مساحة التبديل . هذا معناه ان النواة سوف تستعمل الذاكرة العشوائية في معظم الوقت , ومن المعروف ان العملية تحسن كثير في الاستجابة, فقط قم بإضافة هذه الاسطر الى الملف /etc/sysctl.d/99-sysctl.conf:

vm.swappiness=20
vm.vfs_cache_pressure=50

للتجربة و لمعرفة لما هذه الاعدادت مجدية , القي نظرة على المقال مقال.

Compcache / Zram

Compcache حاليا سيعوض وحدة النواة zram , وهما يستطيعان إنشاء جهاز في الذاكرة العشوائية RAM وضغطه ,إذا استعملت مساحة التبديل هذا يعني إمكانية وضع معلومات كبيرة ومضغوطة في الذاكرة العشوائية لكن يعيبه ان المعالج سيتكفل بعمليات ضغط و فك الضغط , لكن تبقى هذه الطريقة اكثر سرعة من استعمال مساحة التبديل من القرص . اذا كانت تعاني من مشاكل في مساحة التبديل على القرص , هذه الطريقة ستساعدك في تحسين الاداء. Zram مازال في مرحلة الدمج (لهذا هو ليست مستقر حتى الآن، ا ستخدمه بحذر).

حزمة zramswapAUR توفر سكريبت جاهز لضبط جهاز التبديل في الذاكرة العشوائية , ويأتي مع مع الإعدادات المثلى للنظام الخاص بك (مثل حجم ذاكرة الوصول العشوائي وحدة المعالجة المركزية وعدد الانوية).هذا السكريبت ينشئ جهاز zram لكل نواة معالج و حجم ذاكرة ملائم للذاكرة العشوائية المتاحة في النظام. لفعل هذا اتوماتكيا

  • إذا كنت تستعمل initscripts, أضف zramswap إلى قائمة العفاريت في /etc/rc.conf.
  • إذا كنت تستعمل systemd, فعل zramswap.service بواسطة systemctl.

سوف تتحصل على مساحة تبديل مضغوطة في الذاكرة مع اولوية عالية لها في المعالج.وسيتم إستعمال انوية المعالج لضغط هذه مساحة

تلميحة: استعمال zram يعتبر طريقة جيد لحلقة القراءة والكتابة في SSDs.
ملاحظة: ملفات الخدمات (و rc.d سكريبت) قد يتم نقله إلى حزمة منفصلة في مستودعات AUR zramswapAUR.

استخدام ذاكرة بطاقة العرض كامساحة تبديل

إن كان جهازك لديه القليل جدا من ذاكرة الوصول العشوائي وجود فائض من الذاكرة على بطاقة العرض ، في هذه الحالة يمكنك استخدام هذه الطريقة. انظر Swap on video RAM..

preload

طريقة آلية تستخدم اتوماتكيا من طرف preload.كل ما عليك القيام به هو تمكينها مع هذا الأمر:

 # systemctl enable preload   

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

وقت الإقلاع

يمكنك العثور على الدروس مع النصائح الجيدة في الصفحة تحسين أداء الاقلاع.

التعليق في RAM

أفضل طريقة على الاطلاق لتقليل وقت الاقلاع هي . التعليق إلى RAM .

نصائح خاصة بالبرامج

فايرفوكس

تقدم صفحة تعديل فايرفوكس نصائح جيدة؛

فايرفوكس متوفر في المستودعات الرسمية بخصائص منتقاة . قد ترغب في تخصيص بناء المتصفح . للقيام بذلك

 ac_add_options --enable-profile-guided-optimization

في mozconfig الخاص بك.

gcc / Makepkg

انظر Ccache.

LibreOffice

انظر تسريع LibreOffice[broken link: invalid section].

PPacman

انظر تحسين أداء Pacman.

SSH

انظر تسريع SSH[broken link: invalid section].

الكمبيوتر المحمولة

شاهد أجهزة الكمبيوتر المحمولة