[درس] CPU Usage Limiter for Linux

teto0o

[ أعضاء فى القلب ]
25 يوليو 2008
19
4
0
EgYpT
بسم الله الرحمن الرحيم و عليه توكلنا و به نستعين

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

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

بمعنى

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

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

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

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

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

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

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

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

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

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

بسم الله نتوكل على الله

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

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

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

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

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

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

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

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


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

PHP:
 pico  /etc/security/limits.conf


ثم
PHP:
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

[ أعضاء فى القلب ]
25 يوليو 2008
19
4
0
EgYpT
الجزء التاني ,,

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

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

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

كود:
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 و انتهي الدرس كدة

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

انتهي

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

المصدر
https://support-ar.net/forums/showthread.php?p=24513

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

 

WebCraker

العبد الفقير إلى الله
طاقم الإدارة
9 مارس 2008
5,670
50
48
Egypt
support-ar.com
والله ياغالى أحلى ++ وشكرا على الدرس

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

ولدحرب

عضو جديد
25 أكتوبر 2009
9
0
0
جزاك الله خير ووفقك وبارك فيك
..
ويعطيك العافيه ..