در شرایطی که با لود نسبتا بالایی روبه رو هستیم نیاز خواهیم داشت که میزان مصرف منابع توسط هر کاربر را در لینوکس برای پیدا کردن دقیق مشکل پیدا کنیم. دستورات زیادی در لینوکس وجود دارند که میتوان برای این هدف از آنها استفاده کرد. ما از دستورهای ps و top استفاه میکنیم.
جداسازی و چیدمان کاربران unix ی به همراه میزان مصرف منابع هر کدام کار نسبتا سختی برای مبتدیان لینوکسی است. دستور ps گزینه های بسیار زیادی برای چیدن پروسس ها به شیوه های متفاوت دارد. ما میتوانیم به سادگی پروسس های در حال اجرای موجود را به همراه نرخ مصرفی cpu و memory شان براساس کاربر لیست کنیم.
دستورات ps و top گزینه های بسیار زیادی دارند. ما در اینجا به یکسری ترکیب های مفید آنها برای یافتن میزان مصرف resource به ازای کاربران در سرور خواهیم پرداخت.
نتایج ثابت
در دستورات زیر شما میتوانید از دستور grep برای مجزا سازی نتایج هر کاربر استفاده کنید.
برای لیست کردن 10 پروسس با بالاترین میزان مصرف cpu به همراه مشخص کردن کاربر مربوطه از دستور زیر استفاده میکنیم.
برای پیدا کردن 10 پروسه با بالاترین مصرف cpu دستور زیر را اجرا کنید.
برای لیست کردن 10 پروسس با بالاترین میزان مصرف memory به همراه مشخص کردن کاربر مربوطه از دستور زیر استفاده میکنیم.
برای یافتن 10 پروسه با بالاترین مصرف مموری دستور زیر را اجرا کنید.
برای یافتن هر پروسه ای که توسط یک کاربر مشخص در حال اجراست، از دستور زیر استفاده میکنیم.
یا
همچنین توصیه میشود مطالعه کنید:
دستور ps در لینوکس برای مانیتور کردن Process ها
دستور grep در لینوکس به همراه 12 مثال عملی
دستور top در Batch Mode برای پیدا کردن 15 پروسسی (Process) که بیشترین Memory Usage را دارند
دستور top در لینوکس به همراه 30 مثال عملی
پیدا کردن Process های در حال اجرا که CPU و RAM زیادی در Linux مصرف میکنند
دستور watch در لینوکس
نتایج متغیر
برای دریافت نتایج داینامیک شما باید به جای دستور ps از دستور top یا دستور watch به همراه دستور ps استفاده کنید.
برای نمایش میزان مصرف 1 پروسس تحت اجرای یک کاربر با استفاده از top از دستور زیر استفاده میکنیم.
برای لیست کردن 10 پروسس با بالاترین میزان مصرف cpu بر اساس کاربر از دستور زیر استفاده میکنیم.
برای لیست کردن 10 پروسس با بالاترین میزان مصرف مموری بر اساس کاربر از دستور زیر استفاده میکنیم.
شما میتوانید نتایج کاربران را با پایپ کردن به دستور grep جداسازی کنید.
جداسازی و چیدمان کاربران unix ی به همراه میزان مصرف منابع هر کدام کار نسبتا سختی برای مبتدیان لینوکسی است. دستور ps گزینه های بسیار زیادی برای چیدن پروسس ها به شیوه های متفاوت دارد. ما میتوانیم به سادگی پروسس های در حال اجرای موجود را به همراه نرخ مصرفی cpu و memory شان براساس کاربر لیست کنیم.
دستورات ps و top گزینه های بسیار زیادی دارند. ما در اینجا به یکسری ترکیب های مفید آنها برای یافتن میزان مصرف resource به ازای کاربران در سرور خواهیم پرداخت.
نتایج ثابت
در دستورات زیر شما میتوانید از دستور grep برای مجزا سازی نتایج هر کاربر استفاده کنید.
برای لیست کردن 10 پروسس با بالاترین میزان مصرف cpu به همراه مشخص کردن کاربر مربوطه از دستور زیر استفاده میکنیم.
کد PHP:
# ps -e -o pcpu,pid,user,args|sort -k1 -nr|head -10
برای پیدا کردن 10 پروسه با بالاترین مصرف cpu دستور زیر را اجرا کنید.
کد PHP:
# ps -auxf|sort -nr -k3|head -10
برای لیست کردن 10 پروسس با بالاترین میزان مصرف memory به همراه مشخص کردن کاربر مربوطه از دستور زیر استفاده میکنیم.
کد PHP:
# ps -e -o pmem,pid,user,args|sort -k1 -nr|head -10
برای یافتن 10 پروسه با بالاترین مصرف مموری دستور زیر را اجرا کنید.
کد PHP:
# ps -auxf|sort -nr -k4|head -10
برای یافتن هر پروسه ای که توسط یک کاربر مشخص در حال اجراست، از دستور زیر استفاده میکنیم.
کد PHP:
# ps -U user-name -u user-name u
یا
کد PHP:
# ps -e -o pid,user,args|grep $username
همچنین توصیه میشود مطالعه کنید:
دستور ps در لینوکس برای مانیتور کردن Process ها
دستور grep در لینوکس به همراه 12 مثال عملی
دستور top در Batch Mode برای پیدا کردن 15 پروسسی (Process) که بیشترین Memory Usage را دارند
دستور top در لینوکس به همراه 30 مثال عملی
پیدا کردن Process های در حال اجرا که CPU و RAM زیادی در Linux مصرف میکنند
دستور watch در لینوکس
نتایج متغیر
برای دریافت نتایج داینامیک شما باید به جای دستور ps از دستور top یا دستور watch به همراه دستور ps استفاده کنید.
برای نمایش میزان مصرف 1 پروسس تحت اجرای یک کاربر با استفاده از top از دستور زیر استفاده میکنیم.
کد PHP:
# top -u $username
برای لیست کردن 10 پروسس با بالاترین میزان مصرف cpu بر اساس کاربر از دستور زیر استفاده میکنیم.
کد PHP:
# watch "ps -e -o pcpu,pid,user,args|sort -k1 -nr|head -10"
برای لیست کردن 10 پروسس با بالاترین میزان مصرف مموری بر اساس کاربر از دستور زیر استفاده میکنیم.
کد PHP:
# watch "ps -e -o pmem,pid,user,args|sort -k1 -nr|head -10"
شما میتوانید نتایج کاربران را با پایپ کردن به دستور grep جداسازی کنید.