اطلاعیه

بستن
هنوز اطلاعیه ای در دست نیست.

ulimit در linux

بستن
X
 
  • فیلتر کردن
  • زمان
  • نمایش
Clear All
پست های جدید

    ulimit در linux

    ulimit در حقیقت دستور داخلی bash می باشد در لینوکس که با آن میتوانیم محدودیت در استفاده از سیستم (Resources) برای کاربرها استفاده کنیم. این دستور یکی از ابزار مفید برای ادمین های سرورهای لینوکسی بوده که با آن میتوانند محدودیت روی resource های خاص اعمال کنند و بدین گونه مطمین بشوند که سرویس های مهم تر همچنان در حال کار هستند و به دلیل کمبود resource با مشکل روبه رو نمیشوند. با این دستور شما میتوانید میزان استفاده از هر ریسورس را مدیریت کنید.

    ulimit command linux




    دستور ulimit میتواند از به اصطلاح بروز فاجعه جلوگیری کند. شما باید پیش بینی کنید که این محدودیت کجاها معنی پیدا خواهد کرد و کجاها ایجاد مشکل میکند. البته امکانش هست که این چنین اتفاقاتی نیفته اما به خاطر داشته باشید که یک یوزر به تنهایی میتواند تعداد پروسس زیادی را ایجاد کند و این سیستم را برای هر کس دیگری غیر قابل استفاده کند.



    ساختار این دستور :
    کد PHP:
    ulimit [options] [limit


    که به جای option از گزینه های مربوطه و به جای limit میزان محدودیت موردنظر رو اعمال میکنیم.



    گزینه ها :

    S- تغییر و گزارش soft limit مربوط به یک ریسورس
    H- تغییر وگزارش hard limit مربوط به یک ریسورس
    a- گزارش تمامی limit ها (محدودیتها) موجود
    c- ماکزیمم سایز فایلهای core ایجاد شده
    d- ماکزیمم سایز یک *segment از پردازش data
    f- ماکزیمم سایز فایل های ایجادشده توسط shell (گزینه ی پیش فرض)
    l- ماکزیمم سایز مموری که لاک میشود
    m- ماکزیمم سایز RSS (بخشی از حافظه اصلی که برای پروسس ها اشغال میشود)
    n- ماکزیمم تعداد فایل باز
    p- سایز pipe buffer
    s- ماکزیمم سایز stack
    t- ماکزیمم مقدار cpu time به ثانیه
    u- ماکزیمم تعداد پروسس های موجود برای یه کاربر مجزا
    v- ماکزیمم مقدار ویرچوال مموری موجود برای یک پروسس



    برای مثال :
    کد PHP:
    # ulimit -n 100000
    OR
    # ulimit -s 100000 


    soft limit در حقیقت مقداری است که کرنل برای ریسورس مربوطه تایید میکند و hard limit همچون سقفی برای soft limit عمل میکند.
    آخرین ویرایش توسط Habili; در تاریخ/ساعت 07-11-2021, 05:23 PM.
    Instagram : https://www.instagram.com/iranlinuxforum

    Voip Trainer - Asterisk - Elastix - Agi Programming- NewRock

    Voip Expert :ASTERISK-ELASTIX-NewRock Certified-With Experience of Working With
    Sangoma-Digium-Openvox-Synway-Atcom-Quintum Tenor-Polycom-Yealink-Rtx-Snom
    Cisco Collaboration - CME-CUCM-CUPs-CUC-WEBEX
    LPI ( Fundamental - LPI1 and LPI2 ) - Monitoring: ZABBIX-VOIPMONITOR-NAGIOS - CCNA

    Linkedin Profile : https://www.linkedin.com/in/masuma-vahid-26b17b66/

    #2
    بعضا دیده شده که بعضی سرویس ها یا برنامه ها روی سیستمی اجرا نمیشن و یا از کار میفتن. همونطور که میدونید برنامه ها برای اجرا شدن نیاز به حافظه دارن. حالا من باید ببینم که کاربر من در لینوکسم میتونه چه میزان از حافظه رو لاک کنه اول دستور زیر رو اجرا می کنم:
    کد PHP:
    masomeh@debian:~$ ulimit -a
    core file size          
    (blocks, -c0
    data seg size           
    (kbytes, -dunlimited
    scheduling priority             
    (-e0
    file size               
    (blocks, -funlimited
    pending signals                 
    (-i15247
    max locked memory       
    (kbytes, -l64
    max memory size         
    (kbytes, -munlimited
    open files                      
    (-n65536
    pipe size            
    (512 bytes, -p8
    POSIX message queues     
    (bytes, -q819200
    real
    -time priority              (-r0
    stack size              
    (kbytes, -s8192
    cpu time               
    (seconds, -tunlimited
    max user processes              
    (-u15247
    virtual memory          
    (kbytes, -vunlimited
    file locks                      
    (-xunlimited 


    همونطور که میبینید محدودیت لاک حافظه برای من 64 کیلوبایت است. یعنی محدودیتی برای کاربر گذاشتیم که کلا همه برنامه های این کاربر روی هم نتونن بیشتر از 64 کیلوبایت حافظه رو تا لحظه که می خوان توی خود رم واقعی به خودشون اختصاص بدن. این عدد خیلی کوچیکه و در اصل معنی اش اینه که «کسی نمی تونه حافظه رو برای خودش برداره، سیستم عامل است که تقسیم می کنه بر اساس تشخیص خودش». اگر کسی دوست داشته این محدودیت رو به شکل موقت تغییر بده میتونه از دستور ulimit -l 1024 استفاده کنه.
    کد PHP:
    # ulimit -l 1024 


    اگر بخواید برای همیشه مقدار ulimit رو تغییر بدید میتونید فایل etc/security/limits.conf/ رو ویرایش کنید.

    نکته : به جای عدد اگر بزنی 0 یعنی «نامحدود»

    موفق باشید.


    آخرین ویرایش توسط Habili; در تاریخ/ساعت 07-11-2021, 05:27 PM.
    Instagram : https://www.instagram.com/iranlinuxforum

    Voip Trainer - Asterisk - Elastix - Agi Programming- NewRock

    Voip Expert :ASTERISK-ELASTIX-NewRock Certified-With Experience of Working With
    Sangoma-Digium-Openvox-Synway-Atcom-Quintum Tenor-Polycom-Yealink-Rtx-Snom
    Cisco Collaboration - CME-CUCM-CUPs-CUC-WEBEX
    LPI ( Fundamental - LPI1 and LPI2 ) - Monitoring: ZABBIX-VOIPMONITOR-NAGIOS - CCNA

    Linkedin Profile : https://www.linkedin.com/in/masuma-vahid-26b17b66/

    کامنت


      #3
      زمان استفاده از کامند SIPP با خطای Maximum number of open sockets (50000) مواجه شدم :
      کد PHP:
      # sipp 10.10.10.10.10:5061 -sf test.xml -inf injec_test -m 1 -t tn
      2021-07-11 11:39:27.985803 1626003567.985803Maximum number of open sockets (50000should be less than the maximum number of open files (1024). Tune this with the `ulimitcommand or the -max_socket option 

      جهت برطرف شدن مشکل از دستور ulimit استفاده شد :
      کد PHP:
      # ulimit -n 100000 

      کامنت

      درباره انجمن منطقه لینوکسی ها

      انجمن منطقه لینوکسی ها با هدف ارتقاء سطح علمی کاربران در سطح جهانی و همچنین کمک به بالا بردن سطح علمی عمومی در زمینه های تخصصی فوق پایه گذاری شده است. انجمن منطقه لینوکسی ها از طریق کارشناسان و متخصصان پاسخگوی سوالات گوناگون کاربران مبتدی یا پیشرفته میباشد تا حد امکان تلاش شده که محیطی متنوع و کاربر پسند و به دور از هرگونه حاشیه جهت فعالیت کاربران در این انجمن ایجاد شود. لذا ما به صورت مستمر برای پیشرفت کمی و کیفی محتوی و اطلاعات انجمنمان میکوشیم که این برای ما ارزشمند و حائز اهمیت است. کلیه حقوق،اطلاعات و مقالات در این انجمن متعلق به سایت منطقه لینوکسی ها میباشد، و هرگونه نسخه برداری بدون ذکر منبع مورد پیگرد قانونی خواهد شد.

      شبکه های اجتماعی
      در حال انجام ...
      X