مشاهدة النسخة كاملة : [درس] CPU Usage Limiter for Linux


teto0o
2009-02-25, 09:08 AM
بسم الله الرحمن الرحيم و عليه توكلنا و به نستعين

بداية كدة لازم نفهم اي هو ال CPU Usage Limiter

هو التحكم التام في استهلاك الموارد للسيرفر

بمعنى

عندك سيرفر استضافة و عليه مواقع كتير و عاوز تحدد استخدام كل موقع مثلا 3% من موارد الخادم

اولا لازم نعرف لزمتها ايه عشان في ناس بتحب تفهم

مثلا لو عندك موقع مستهدف او بيعمل نشرات بريدية او او او مستهلك موارد سيرفرك

لو انت مدير سيرفر و السيرفر وقف منك بسبب موقع من المواقع اعزرني فأنت فاشل

متبصليش كدة ايوة هتبقى فاشل

مثلا صاحب موقع بيعمل سبام

لو انت مش محددله موارد او قيمة موقعة مايستهلكش اكتر منها هتلاقي سيرفرك وقف في لحظات

طيب احنا كدة فهمنا فايدة الدرس و اهميتة بالنسبه لأي صاحب سيرفر

نيجي بئه للدرس

طبعا الدرس دة بالفعل مش هتلاقيه غير هنا و اتحدى اي كائن فضائي او حتى ارضي يجيبلي حتة منه
و عشان كدة لو عاوز تنقله انقله مع ذكر حقوق الدعم العربي
(http://www.support-ar.com/vb/showthread.php?t=13286)
بسم الله نتوكل على الله

قوم اغسل ايدك كدة و اعمل كوبايه شاي و تعالى اقعد و فك ودانك و ركز كويس جدا

بئذن الله هناخد منهج جميل اوي في شروحتنا

المنهج دة ان الواحد مينفعش يطبق شئ و هو مش فاهمة و عشان كدة هنعرض الشرح بأكتر من صورة

توكلنا على الله
---------------------------------------------------------------------------------
اول شئ نحدد الموقع اللي عاوزين نحددله نسبه من استخدام الموارد

ولازم نعرف ان القصة دي ليها اكتر من طريقة

الأولى
هي للمحترفين

اما الثانيه هي برنامج و ليه موقع رسمي و حجات كدة

الطريقة الأولى

ندخل الشيل و محدش يقول يعني ايه شيل :nosweat:

pico /etc/security/limits.conf

ثم
user type item valueالاول تعرف ايه الحاجه

اليوزر : بتكتب تحته اليوزر اللى انت عايزه ولو عايز الكلام يطبق على كله تكتب *

النوع التاني Hard وده لو اليوزر وصل له هيوقف اليوزر
type : ده النوع واحد اسمه soft وده بيعلم زي تحذير لليوزر لما يوصل لللحد الموجود

Item : ودي الحاجه اللى انت عايز تعملها تجديد

مثلا

عدد العمليات اللى يقدر يقوم بيها اليوزر

وحاجات كتير دي تفاصيلها
* core - limits the core file size (KB)
* data - max data size (KB)
* fsize - maximum filesize (KB)
* memlock - max locked-in-memory address space (KB)
* nofile - max number of open files
* rss - max resident set size (KB)
* stack - max stack size (KB)
* cpu - max CPU time (MIN)
* nproc - max number of processes
* as - address space limit
* maxlogins - max number of logins for this user
* maxsyslogins - max number of logins on the system
* priority - the priority to run user process with
* locks - max number of file locks the user can hold
* sigpending - max number of pending signals
* msgqueue - max memory used by POSIX message queues (bytes)
* nice - max nice priority allowed to raise to
* rtprio - max realtime priority
* chroot - change root to directory (Debian-specific)
ده مثال لو عايز كل يوزر ميقدرش يفتح اكتر من 100 عمليه فى الوقت الواحد وده كويس

* hard nproc 100عندك برضو لو عايز تحدده رقم معين من الرامات

* hard memlock 1024دي هتحدد لكل يوزر انه يقدر يستخدم ميجا واحده من الرامات والارقام بالكليو بايت
* soft cpu 5دي تسمح لكل يوزر بانه يستخدم من وقت المعالج 5 دقائق لانجار عمليات اليوزر


طبعا عندك حاجه اسمها PAM

انتهي الجزء الخاص بالمحترفين ,,

,, يتبع ,,

teto0o
2009-02-25, 09:28 AM
الجزء التاني ,,

الجزء دة طبعا هنستخدم فيه اداة ممكن اي حد مننا يستخدمها + متطورة عن الشرح السابق و اسهل كمان و الاجمل ليها موقع رسمي

http://cpulimit.sourceforge.net

اكيد في ناس تقدر تطبق الشرح من الموقع ونا كمان هشرحة هنا

نفتح الشيل و نستعيذ بالله من الشيطان الرجيم

الزق الامر دة في الشيل و متسئلش ليه

svn checkout https://cpulimit.svn.sourceforge.net/svnroot/cpulimit/trunk cpulimitطبعا لازم نفك الضغط

tar zxf cpulimit-xxx.tar.gz

ناخد تاكسي و نروح على الفولدر ( محدش يدي للتاكسي اكتر من جنيه واحد)

cd cpulimit-xxx

ثم

make

و مبروك تم التركيب بنجاح

نيجي بئه لأمثلة الأستخدام

هنفترض ان في يوزر باسم
support-ar

و اليوزر دة ما شاء الله عليه واخد السيرفر لحسابة و لازم نوقفه عند حدة .<< بيحلم دة ال يوقفه ال :bye1:

cpulimit --exe support-ar --limit 40
cpulimit --exe /usr/local/bin/support-ar --limit 40

طبعا واضح جدا من الأمر السابق ان اليوزر اتحددله 40% من استهلاك الموارد

و لو عندك ادمن شات مثلا او سيرفر راديو او اي برنامج على السيررفر زي الاباتشي و الماي سيكول و الشغل دة
ما عليك الا انك تجيب الرقم بتاع العمليه و دة طبعا ممكن تجيبه من خلال

Main >> System Health >> Show Current CPU Usage

ولنفترض ان البروسيس دة رقمة 2960

cpulimit --pid 2960 --limit 55

نحددله الكميه اللي يستهلكها من ال CPU و انتهي الدرس كدة

ان عجبك الشرح لا تنسى ++

انتهي

يمنع منعا باتا نقل الشرح دون ذكر المصر و الحقوق

المصدر
http://www.support-ar.com/vb/showthread.php?p=24513

و الله ولي التوفيق ..,,

WebCraker
2009-02-25, 09:45 AM
والله ياغالى أحلى ++ وشكرا على الدرس

وجزاك الله خيرا دنيا وآخرة يابو إياد

teto0o
2009-02-26, 12:35 AM
والله ياغالى أحلى ++ وشكرا على الدرس

وجزاك الله خيرا دنيا وآخرة يابو إياد

تسلم ايدك و يارب يكون الشرح عجبك :clap:

Dr Ahmed
2009-02-26, 10:25 PM
مشكور يا غالي .. شرح ولا اروع

Eng Muhamed
2009-02-26, 10:28 PM
مشكور يا غالي . بارك الله فيك

teto0o
2009-03-06, 05:33 PM
مشكور يا غالي .. شرح ولا اروع




العفو و انت اروع حبيب قلبي

مشكور يا غالي . بارك الله فيك



مرورك الأروح

تحياتي ,,

hemahosny
2009-04-23, 01:06 PM
انا جزيل الشكرررا

Alamia
2009-05-10, 09:21 PM
شرح رائع بالفعل وننتظر باقية الدروس

زهرة الرجس
2009-06-25, 05:19 PM
مشكور اخي على الشرح الوافي بارك الله فيك

ولدحرب
2009-10-25, 06:17 AM
جزاك الله خير ووفقك وبارك فيك
..
ويعطيك العافيه ..