بسم الله الرحمن الرحيم و عليه توكلنا و به نستعين

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

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


و عندنا هنا سكريبت ال CPU Usage Limiter

و طريقة مانيوال اختر ماشئت

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

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

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

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

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

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

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


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




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

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

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

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

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

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

كود PHP:
pico  /etc/security/limits.conf 


كود PHP:
user type item value 


الاول تعرف ايه الحاجه

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

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

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

مثلا

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

وحاجات كتير دي تفاصيلها

كود PHP:
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 عمليه فى الوقت الواحد وده كويس

كود PHP:
hard nproc 100 


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

كود PHP:
hard memlock  1024 


دي هتحدد لكل يوزر انه يقدر يستخدم ميجا واحده من الرامات والارقام بالكليو بايت

كود PHP:
soft cpu  5 


دي تسمح لكل يوزر بانه يستخدم من وقت المعالج 5 دقائق لانجار عمليات اليوزر


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


انتهي الجزء التعديل اليديوي ,,

الجزء التاني ,,

الجزء دة طبعا هنستخدم فيه اداة او سكربت ممكن اي حد مننا يستخدمها + متطورة عن الشرح السابق و اسهل كمان و الاجمل معتمدة
http://cpulimit.sourceforge.net

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

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

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

كود PHP:
svn checkout https://cpulimit.svn.sourceforge.net/svnroot/cpulimit/trunk cpulimit 


طبعا لازم نفك الضغط

كود PHP:
tar zxf cpulimit-xxx.tar.gz 


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

كود PHP:
cd cpulimit-xxx 


ثم

كود PHP:
make 


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

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

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

كود PHP:
aljyyosh 


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

كود PHP:
cpulimit --exe best-sec --limit 40
cpulimit 
--exe /usr/local/bin/best-sec --limit 40 


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

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


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

كود PHP:
cpulimit --pid 2960 --limit 55 


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

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

انتهي

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


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