بررسی میزان استفاده از CPU در لینوکس
به عنوان یک مدیر سیستم یا کاربر ساده لینوکس، مانیتور موثر بر منابع سیستم، به ویژه CPU بسیار مهم است. این اطلاعات میتواند به شما در بهینه سازی سیستم عامل و تصمیم گیری در مورد زمان ارتقای سخت افزار کمک کند.در این مطلب، 17 ابزار خط فرمان را معرفی میکنیم که میتوانید از آنها برای بررسی میزان استفاده از CPU در لینوکس استفاده نمائید.
-
دستور top
یکی از پرکاربردترین ابزارها برای نظارت بر استفاده از CPU در لینوکس است. این دستور اطلاعات لحظهای (real-time) در مورد استفاده از منابع سیستم، از جمله CPU، ارائه میدهد. خروجی لیستی از فرآیندهای در حال اجرا در سیستم را نشان میدهد که بر اساس میانگین استفاده از CPU مرتب شدهاند.
-
دستور htop
یک جایگزین کاربرپسند برای دستور top که نمای تعاملی و real-time از فرآیندهای سیستم، از جمله استفاده از CPU، استفاده از حافظه و فرآیندهای سیستم را ارائه میدهد و به کاربران اجازه میدهد فرآیندها را مرتب و فیلتر کنند، سیگنالها را به فرآیندها ارسال کنند و عملکرد را با استفاده از تجسمهای کد رنگی مانیتور کنند. رابط کاربری قابل تنظیم و سهولت استفاده آن را به یک جایگزین محبوب برای دستور top استاندارد تبدیل کرده است.
-
دستور mpstat
این ابزار اطلاعات دقیقی در مورد استفاده از CPU ارائه میدهد، از جمله درصد زمان CPU صرف شده در حالتهای مختلف، مانند user mode، system mode، idle time، idle processes و انتظار ورودی/خروجی (input/output (I/O) wait). همچنین بهترین استفاده برای ارائه اطلاعات در مورد استفاده از CPU برای چندین هسته و پردازنده است.
-
دستور ps
این ابزار اطلاعاتی در مورد فرآیندهای جاری سیستم از جمله استفاده از CPU ارائه میدهد. از خروجی میتوان برای شناسایی فرآیندهایی که بیشترین مصرف منابع CPU و استفاده از حافظه و شناسههای پردازش (PID) را دارند، استفاده کرد.
-
دستور uptime
از دستور uptime برای یافتن اطلاعات مربوط به مدت زمان کارکرد سیستم و میانگین لود سیستم در 1، 5 و 15 دقیقه گذشته استفاده کنید که می تواند زمان کارکرد سیستم را نظارت کند و دورههای لود بالای سیستم را شناسایی کند. uptime یک ابزار ساده و در عین حال ارزشمند برای نظارت بر سیستم است.
-
دستور vmstat
اطلاعات در مورد استفاده از منابع سیستم، از جمله استفاده از CPU را ارائه میدهد. همچنین میتوان از آن برای شناسایی bottleneck بالقوه عملکرد و تشخیص مسائل مربوط به استفاده از حافظه استفاده کرد. علاوه بر این، vmstat به شما کمک می کند فضای swap و page I/O را مشاهده کنید.
-
دستور sar
یک دستور لینوکس که دادههای عملکرد تاریخی را در فرآیندهای مختلف سیستم ارائه میدهد. این ابزار همه کاره نظارت بر عملکرد اطلاعاتی را در مورد منابع مختلف سیستم از جمله CPU ارائه میدهد.
-
دستور iostat
این دستور میتواند عملکرد input/output (I/O) سیستم را نظارت کند. اطلاعاتی در مورد استفاده از دیسک، عملیات I/O در ثانیه و نرخ انتقال داده ارائه می دهد. iostat میتواند مشکلات I/O دیسک را تشخیص دهد، تخصیص منابع سیستم را بهینه کند و استفاده از CPU را نمایش دهد.
-
دستور pidstat
یک دستور لینوکس که نمای دقیقی از استفاده از منابع برای فرآیندهای خاص ارائه میدهد. مانند دستورات قبلی، همچنین می تواند استفاده از CPU، استفاده از حافظه و I/O دیسک را برای فرآیندهای جداگانه نظارت کند. pidstat یک ابزار واقعا مفید برای شناسایی فرآیندهایی است که فرآیندهای سیستمی زیادی را مصرف میکنند و می توان از آن برای بهینه سازی عملکرد سیستم استفاده کرد. این اطلاعات در مورد فرآیندهای خاص، از جمله استفاده از CPU و فرآیندهای کاربر، در میان سایر موارد، ارائه می دهد.
-
دستور dstat
یک نمای real-time از سیستم شما و فرآیندهای در حال اجرا را ارائه میدهد و ابزار قدرتمندی است که میتواند به تشخیص مشکلات عملکرد و بهینه سازی تخصیص منابع سیستم کمک کند. به عبارت دیگر، دستور dstat به شما کمک می کند میزان استفاده از CPU، فرآیندهای کاربر، idle processes و سایر آمارهای مختلف CPU را نمایش دهید.
-
دستور atop
دستور atop نمای دقیقی از سیستم شما و فرآیندهای در حال اجرا ارائه میدهد. از آن برای نظارت بر منابع مختلف سیستم، از جمله CPU، حافظه، I/O دیسک و استفاده از سیستم فایل شبکه استفاده کنید. atop نظارت بر عملکرد را در زمان واقعی ارائه می دهد و می تواند فعالیت سیستم را برای تجزیه و تحلیل بعدی ثبت کند. این یک ابزار همه کاره است که می تواند مشکلات عملکرد را تشخیص دهد، تخصیص منابع سیستم را بهینه کند و فرآیندهای در حال اجرا را بررسی کند.
-
دستور nmon
به عنوان نمایشگر عملکرد نایجل (Nigel's performance Monitor) شناخته میشود، ابزاری non-command است که میتواند برای نظارت بر منابع مختلف سیستم، از جمله CPU، حافظه، I/O دیسک و مصرف شبکه استفاده شود. nmon نمای دقیقی از کامپیوتر شما ارائه میدهد و میتواند برای تشخیص مشکلات عملکرد و بهینه سازی تخصیص منابع سیستم و فرآیندهای کاربر استفاده شود. یک ابزار محبوب در بین مدیران سیستم برای مدیریت و نظارت بر کامپیوترهایی است که کرنل لینوکس دارند.
-
دستور glogg
دستور glogg برای جستجو و تجزیه و تحلیل فایلهای گزارش (log) استفاده میشود.یک رابط گرافیکی را فراهم میکند که به کاربران امکان میدهد لاگهای گزارش را سریع و کارآمد جستجو کنند. glogg میتواند ورودیهای لاگ لازم را برجسته کرده و اطلاعات ناخواسته را فیلتر کند و آن را به ابزاری ضروری برای عیبیابی مشکلات کامپیوتر تبدیل نماید.
-
دستور iftop
این دستور برای نظارت بر ترافیک شبکه در زمان واقعی(real-time) استفاده میشود. اتصالات شبکه جاری و استفاده از پهنای باند مربوطه آنها را فهرست میکند. iftop میتواند به شناسایی فرآیندهایی که بیشترین ترافیک شبکه را ایجاد میکنند کمک کرده و برای عیب یابی مشکلات عملکرد شبکه استفاده شود.
-
دستور sysstat
sysstat یک فرمان لینوکس است که مجموعهای از ابزارهای نظارت بر عملکرد سیستم را فراهم میکند و شامل دستوراتی مانند sar، mpstat و iostat است که میتواند برای جمعآوری اطلاعات در مورد استفاده از منابع سیستم، مانند CPU، حافظه و مصرف دیسک استفاده شود. sysstat یک نمای جامع از فرآیندهای لینوکس ارائه میدهد که برای تشخیص مشکلات عملکرد و بهینه سازی تخصیص منابع سیستم استفاده میشود.
-
دستور cpulimit
دستور کرنل لینوکس برای محدود کردن استفاده از CPU یک فرآیند و کاهش لود CPU استفاده میشود. ابزاری است که میتواند به جلوگیری از مصرف بیش از حد زمان CPU فرآیندها کمک کند، که میتواند باعث مشکلات عملکرد سیستم شود. cpulimit یک ابزار ساده و در عین حال موثر است که میتواند استفاده از CPU از فرآیندها را مدیریت کرده و اطمینان حاصل کند که سیستم پاسخگو باقی میماند. ابزاری ارزشمند برای مدیریت استفاده از منابع در سیستم شما.
-
دستور cgroups
یک دستور لینوکس که مخفف control groups است. برای مدیریت تخصیص فرآیندهای سیستم مانند CPU، حافظه و I/O دیسک به گروههایی از فرآیندها استفاده میشود. cgroup ها به مدیران سیستم اجازه میدهند تا محدودیتها و اولویتهایی را برای استفاده از منابع تعیین کنند تا اطمینان حاصل شود که فرآیندهای حیاتی منابع لازم را دریافت می کنند.
17 دستور بالا تنها چند ابزار خط فرمان برای نظارت و بررسی استفاده از CPU در لینوکس هستند. همانطور که انتظار می رود، هر ابزاری نقاط قوت و ضعف خود را دارد، بنابراین شما باید بهترین گزینه را انتخاب کنید که متناسب با نیازتان باشد. در هر صورت، چه در حال عیبیابی مشکلات عملکرد، بهینهسازی عملکرد سیستم یا نظارت بر استفاده از منابع باشید، این دستورات به شما کمک میکنند تا اطلاعات مورد نیاز برای تصمیمگیری آگاهانه را به دست آورید.
چگونه میتوان بیشترین مصرف CPU در لینوکس را پیدا کرد؟
برای بررسی 10 فرآیند پر مصرف CPU در لینوکس، باید از دستور top در ترمینال استفاده کنید که یک نمای real-time از فرآیندهای در حال اجرا بر روی سیستم، از جمله میزان CPU و حافظهای که هر فرآیند در هر ثانیه مصرف میکند، ارائه میدهد.
برای استفاده از آن، یک پنجره ترمینال را باز کرده و top را تایپ کنید. لیستی از فرآیندهای در حال اجرا بر روی سیستم را مشاهده خواهید کرد که بر اساس میزان استفاده از CPU مرتب شدهاند. فرآیندی که از بیشترین CPU را استفاده میکند در بالا لیست میشود. میتوانید کلیدهای Shift + m را فشار دهید تا فرآیندها بر اساس میزان مصرف حافظه به جای استفاده از CPU مرتب شوند. این به شما بستگی دارد!
همچنین میتوانید از دستور ps برای دریافت اسنپ شات از فرآیندها و استفاده از CPU استفاده کنید. به عنوان مثال، دستور زیر 10 فرآیند پر مصرف CPU را مرتب نشان میدهد:
ps -eo pcpu,pid,user,args | sort -k 1 -r | head -10
علاوه بر این، دستور htop ابزار دیگری است که رابط کاربر پسندتری برای نظارت بر فرآیندها و استفاده از منابع سیستم در لینوکس فراهم میکند. یک نمای real-time از فرآیندها، از جمله استفاده از CPU، عملکرد CPU، استفاده از حافظه و سایر اطلاعات را ارائه می دهد.
بنابراین با استفاده از این ابزارها میتوانید بهتر متوجه شوید که کدام فرآیندها بیشترین مصرف را در سیستم لینوکس شما دارند و در صورت لزوم اقدام مناسب را انجام دهید.
چگونه درصد استفاده از CPU را در لینوکس بررسی کنیم؟
اگر می خواهید درصد استفاده از CPU را در لینوکس بررسی کنید، بدانید که سخت نیست و چندین دستور وجود دارد که میتوانید از آنها استفاده کنید. در ادامه برخی از محبوب ترین آنها آورده شده است.
- دستور top: یک ترمینال را باز و top را تایپ کنید. خط اول خروجی درصد کل استفاده از CPU را به همراه استفاده از core های جداگانه CPU نشان میدهد.
- دستور mpstat: بخشی از بسته sysstat است و نمای دقیقی از استفاده از CPU، از جمله درصد زمان صرف شده CPU در user mode، system mode، idle و wait I/O را ارائه میدهد. برای استفاده از دستور mpstat می توانید mpstat را در ترمینال تایپ کنید و اینتر را بزنید.
- دستور iostat: دستور iostat بخشی از بسته sysstat است و اطلاعاتی در مورد استفاده از CPU، I/O دیسک و I/O شبکه ارائه می دهد. برای مشاهده استفاده از CPU، iostat را در ترمینال تایپ کنید و اینتر را بزنید. خروجی میانگین استفاده از CPU را در یک بازه زمانی مشخص نشان می دهد.
- دستورhtop : یک جایگزین کاربرپسندتر برای دستور top است که یک نمای زمان واقعی از فرآیندها و استفاده از منابع آنها ارائه میدهد. برای استفاده از آن، کافی است htop را در ترمینال تایپ کنید و آن را بزنید. درصد استفاده از CPU در بالای صفحه نمایش شما نمایش داده می شود. بنابراین، از دست دادن آن سخت است.
- دستور vmstat: دستور vmstat اطلاعاتی در مورد منابع سیستم و آمارهای مربوط به فرآیند، از جمله استفاده از CPU ارائه می دهد. برای استفاده از دستور vmstat، vmstat را در ترمینال تایپ کنید و اینتر را بزنید. خروجی استفاده از CPU را در حالت سیستم، حالت کاربر و زمان بیکار نشان می دهد.
با استفاده از هر یک از این دستورات، میتوانید به سرعت درصد استفاده از CPU را در سیستم لینوکس و لود CPU خود بررسی کنید و تعیین کنید که آیا سیستم شما به طور موثر اجرا میشود یا اینکه هر فرآیندی منابع بیش از حد مصرف مینماید.
چگونه میتوان میانگین استفاده از CPU را در لینوکس را پیدا کرد؟
برای مشاهده میزان استفاده از CPU در لینوکس میتوانید از چندین ابزار خط فرمان استفاده کنید. در اینجا چند مورد از متداول ترین آنها آورده شده است:
- دستور top: این دستور یک نمای real-time استفاده از منابع سیستم، مانند استفاده از CPU را ارائه میدهد. برای راه اندازی آن، یک ترمینال را باز کنید و top را تایپ کنید. خط اول خروجی کل استفاده از CPU را به همراه استفاده از هستههای جداگانه CPU نشان میدهد.
- دستور htop: دستور htop یک جایگزین کاربرپسندتر برای دستور top است که نمای زمان واقعی استفاده از پردازنده را ارائه میدهد. برای استفاده htop را در ترمینال تایپ و اینتر را بزنید. میزان استفاده از CPU در بالای صفحه نمایش داده میشود.
- دستور mpstat: دستور mpstat بخشی از بسته sysstat است و اطلاعات دقیقی را در مورد استفاده از CPU ارائه میدهد، از جمله درصد زمان صرف شده CPU در حالت کاربر، حالت سیستم، زمان صرف شده در انتظار و انتظار I/O. یک بار دیگر برای استفاده دستور mpstat را در ترمینال تایپ و اینتر را بزنید. این تمام چیزی است که لازم است.
هنگامی که از هر یک از این دستورات استفاده می کنید، به سرعت میزان استفاده از CPU را در کامپیوتر(یا سرور مجازی) مشاهده میکنید، که به شما امکان میدهد تعیین کنید که آیا سیستم شما به طور موثر اجرا می شود یا اینکه آیا هر فرآیندی منابع بیش از حد مصرف میکند. به عبارت دیگر، استفاده از آنها امکان ردیابی استفاده از پردازنده و درک بهتر عملکرد ضعیف سیستم را فراهم می کند و ببینید چگونه می توانید آن را برطرف کنید.
کدام پروسس یا برنامه CPU را به تاراج میبرد؟
پیدا کردن اینکه کدام فرآیند یا برنامه در انحصار یا مصرف مقدار زیادی از منابع CPU در لینوکس است، میتواند چالش برانگیز باشد، به خصوص اگر کاربر باتجربه لینوکس نباشید. ابزارها و تکنیکهای مختلفی وجود دارد که میتوانید از آنها برای شناسایی پرمصرف استفاده کنید. بنابراین، اجازه دهید برخی از رایج ترین و با ارزش ترین روشها را مرور کنیم.
همانطور که گفته شد، دستورات top، htop، mpstat و atop ابزارهای نظارتی بلادرنگ سیستم هستند که اطلاعاتی در مورد استفاده از منابع سیستم، از جمله استفاده از CPU و عملکرد CPU ارائه می دهند. شما باید هر یک از این دستورات را در خط فرمان بزنید تا مشخص شود کدام فرآیند بیشترین مصرف CPU را دارد و سپس اقدام مناسب برای حل مشکل انجام دهید.
با این حال، دستورات بیشتری برای مشاهده استفاده از CPU در لینوکس وجود دارد:
- دستور sar: این دستور بخشی از بسته sysstat است و اطلاعاتی در مورد استفاده از منابع سیستم در طول زمان ارائه میدهد. میتوانید از sar برای مانیتور استفاده از CPU در مدتی استفاده نموده و روندها و الگوهایی را شناسایی کنید که ممکن است به شما کمک کند فرآیندی را که بیشترین مصرف را از CPU میکند، مشخص کنید.
- دستور pidstat: دستور pidstat بخشی از بسته sysstat است و اطلاعاتی در مورد استفاده از منابع در سطح فرآیند، از جمله استفاده از CPU ارائه میکند. شما می توانید از دستور pidstat برای نظارت بر استفاده از CPU در فرآیندهای خاص استفاده کنید، و تشخیص اینکه کدام فرآیند CPU را در انحصار خود دارد آسان میکند.
- دستور atop: دستور atop یک ابزار نظارت بر سیستم و فرآیند است که اطلاعات دقیقی در مورد استفاده از پردازنده، از جمله استفاده از CPU ارائه میدهد. میتوانید از دستور atop برای نظارت بر استفاده از CPU در طول زمان و تشخیص اینکه کدام فرآیند بیشترین مصرف را دارد استفاده کنید.
پس از شناسایی فرآیندی که بیشترین مصرف کننده CPU را دارد، می توانید برای حل مشکل اقدام مناسبی انجام دهید. این شامل از بین بردن فرآیند، بهینه سازی کد برنامه، یا تنظیم تنظیمات سیستم است.
خرید وی پی اس در پنج موقعیت جغرافیایی ایران، ترکیه، هلند، آلمان و آمریکا با قابلیت تحویل آنی در پارسدو فراهم است.
به طور کلی، بررسی استفاده از CPU در لینوکس و عملکرد CPU یک تکه کیک است. اینها متداول ترین دستوراتی هستند که به شما امکان میدهند میزان استفاده از CPU خود را در لینوکس مشاهده کنید:
دستور top: یکی از محبوب ترینها در بررسی میزان استفاده از CPU، عملکرد CPU و نظارت کلی CPU است. این یک ابزار نظارت بر فرآیند در زمان واقعی است که نمای دقیقی از استفاده از منابع سیستم، از جمله استفاده از CPU را ارائه می دهد. برای راه اندازی آن، یک ترمینال را باز کنید و top را تایپ کنید.
دستور htop: به نظر میرسد دستور htop کاربرپسندتر از دستور top است و همچنین نمای لحظهای از فرآیندها و استفاده از منابع آنها و همچنین دادههای CPU را ارائه میدهد. برای استفاده از آن، htop را در ترمینال تایپ کنید و اینتر را بزنید.
دستور mpstat: به عنوان بخشی از بسته sysstat، دستور mpstat اطلاعات دقیقی در مورد استفاده از CPU ارائه می دهد، از جمله درصد زمان CPU صرف شده در حالت کاربر، وضعیت CPU، حالت سیستم، زمان صرف شده در حالت بیکار، انتظار I/O و استفاده کلی از CPU. . برای استفاده از دستور mpstat، mpstat را در ترمینال تایپ کنید. سپس، اینتر را بزنید.
دستور ps: دستور ps اطلاعاتی در مورد فرآیندهای جاری سیستم از جمله استفاده از CPU ارائه می دهد. برای استفاده از آن برای مشاهده استفاده از CPU از تمام فرآیندها، ps aux را در ترمینال تایپ کنید و اینتر را بزنید.