بعضی مواقع شرایطی بوجود می آید که شما باید لیستی از فرآیندهای را تعریف کنید که منابع CPU بیشتری را در سیستم مصرف می کنند.
من معتقدم که فقط دو روش برای بررسی این مسئله وجود دارد.
این کار با استفاده از دستور بالا و دستور ps انجام می شود.
من توصیه می کنم از بالا و نه ps استفاده کنید.
اما هر دو روش نتیجه یکسانی می دهند ، بنابراین می توانید یکی را که دوست دارید بهترین انتخاب کنید.
هر دوی این گزینه ها به طور گسترده توسط مدیران لینوکس استفاده می شوند.
1) چگونه می توان فرآیند با بار زیاد روی پردازنده را در لینوکس پیدا کرد با دستورات بالا
فرمان برتر لینوکس بهترین و شناخته شده ترین فرمانی است که همه از آن برای نظارت بر عملکرد سیستم لینوکس استفاده می کنند.
دستور بالا یک نمایش پویا در زمان واقعی از فرآیندهای در حال اجرا بر روی سیستم لینوکس ارائه می دهد.
این اطلاعات خلاصه سیستم را نشان می دهد ، لیستی از فرایندهایی که در حال حاضر توسط هسته لینوکس اداره می شود.
اطلاعات مختلف سیستم مانند استفاده از پردازنده ، استفاده از حافظه ، حافظه مبادله ، تعداد فرآیندهای در حال اجرا ، زمان p را نشان می دهد. خرابی سیستم ، بوت سیستم ، اندازه بافر ، اندازه حافظه پنهان ، PID فرایند و غیره.
به طور پیش فرض ، خروجی برتر را با استفاده از CPU مرتب می کند و داده ها را هر 5 ثانیه به روز می کند.
اگر می خواهید دید روشنی از خروجی داشته باشید. دستورات برتر برای تجزیه و تحلیل بیشتر ، این بهترین روش برای اجرای دستور بالا در حالت دسته ای است.
علاوه بر این ، شما باید خروجی دستور بالا را برای رفع مشکل عملکرد سیستم درک کنید.
# top -c -b | سر -50 برترین - 12:12:52 تا 57 روز ، 21:58 ، 3 کاربر ، میانگین بار: 1.50 ، 1.76 ، 1.86 وظایف: 306 نفر کل ، 1 دویدن ، 216 خواب ، 0 متوقف ، 0 زامبی ٪ Cpu (s): 12.7 us، 4.2 sy، 0.0 ni، 81.7 id، 0.0 wa، 0.0 سلام، 1.4 si، 0.0 st KiB Mem: 16400812 در کل ، 262904 رایگان ، 3166168 استفاده شده ، 12971740 buff / cache تعویض KiB: 0 تعداد ، 0 رایگان ، 0 مورد استفاده 13559292 سود مم PID USER PR NI VIRT RES SHR S٪ CPU٪ MEM TEM + Command 28494 root 20 0 1515256 1.3g 52140 S 43.8 8.1 7618: 26 kube-apiserver --advertise-address = 10.2.67.201 - allow-privilege = true --annam-aut + 13148 root 20 0 162192 4520 3848 R 12.5 0.0 0: 00.03 top -c -b 17334 root 20 0 1544992 132556 58240 S 6.2 0.8 4272: 14 / usr / local / bin / kubelet --logtostderr = true --v = 2 --node-ip = 10.2.67.201 - hostname-overr + 28432 root 20 0 10.2g 162668 84168 S 6.2 1.0 2099: 34 / usr / local / bin / etc.d 1 root 20 0 129568 9180 5252 S 0.0 0.1 152: 29.90 / usr / lib / systemd / systemd --switched-root --system --deserialize 22 2 ریشه 20 0 0 0 0 S 0.0 0.0 0: 01.77 [kthreadd] 3 ریشه 0 -20 0 0 0 من 0.0 0.0 0: 00.00 [rcu_gp] 4 ریشه 0 -20 0 0 0 من 0.0 0.0 0: 00.00 [rcu_par_gp] 6 ریشه 0 -20 0 0 0 من 0.0 0.0 0: 00.00 [kworker/0:0H-kb] 8 root 0 -20 0 0 0 I 0.0 0.0 0: 00.00 [mm_percpu_wq] 9 ریشه 20 0 0 0 0 S 0.0 0.0 6: 30.07 [ksoftirqd/0] 10 ریشه 20 0 0 0 0 من 0.0 0.0 131: 34.14 [rcu_sched] 11 root rt 0 0 0 0 S 0.0 0.0 0: 37.83 [migration/0] 13 ریشه 20 0 0 0 0 S 0.0 0.0 0: 00.00 [cpuhp/0] 14 ریشه 20 0 0 0 0 S 0.0 0.0 0: 00.00 [cpuhp/1] 15 root rt 0 0 0 0 S 0.0 0.0 0: 36.70 [migration/1] 16 ریشه 20 0 0 0 0 S 0.0 0.0 4: 50.86 [ksoftirqd/1] 18 ریشه 0 -20 0 0 0 I 0.0 0.0 0: 00.00 [kworker/1:0H-kb] 19 ریشه 20 0 0 0 0 S 0.0 0.0 0: 00.00 [cpuhp/2] 20 root rt 0 0 0 0 S 0.0 0.0 0: 36.68 [migration/2] 21 ریشه 20 0 0 0 0 S 0.0 0.0 5: 33.95 [ksoftirqd/2] 23 root 0 -20 0 0 0 I 0.0 0.0 0: 00.00 [kworker/2:0H-kb] 24 ریشه 20 0 0 0 0 S 0.0 0.0 0: 00.00 [cpuhp/3] 25 root rt 0 0 0 0 S 0.0 0.0 0: 35.79 [migration/3] 26 ریشه 20 0 0 0 0 S 0.0 0.0 6: 43.56 [ksoftirqd/3] 28 root 0 -20 0 0 0 I 0.0 0.0 0: 00.00 [kworker/3:0H-kb] 29 ریشه 20 0 0 0 0 S 0.0 0.0 0: 00.00 [kdevtmpfs] 30 root 0 -20 0 0 0 I 0.0 0.0 0: 00.00 [netns] 31 root 20 0 0 0 0 S 0.0 0.0 0: 13.96 [kauditd] 32 root 20 0 0 0 0 S 0.0 0.0 0: 12.74 [khungtaskd] 33 root 20 0 0 0 0 S 0.0 0.0 0: 00.00 [oom_reaper] 34 root 0 -20 0 0 0 I 0.0 0.0 0: 00.00 [writeback] 35 root 20 0 0 0 0 S 0.0 0.0 0: 00.47 [kcompactd0] 36 ریشه 25 5 0 0 0 S 0.0 0.0 0: 00.00 [ksmd] 37 root 39 19 0 0 0 S 0.0 0.0 0: 20.81 [khugepaged] 130 ریشه 0 -20 0 0 0 من 0.0 0.0 0: 00.00 [kintegrityd] 131 root 0 -20 0 0 0 I 0.0 0.0 0: 00.00 [kblockd] 132 root 0 -20 0 0 0 I 0.0 0.0 0: 00.00 [blkcg_punt_bio] 133 root 0 -20 0 0 0 I 0.0 0.0 0: 00.00 [tpm_dev_wq] 134 root 0 -20 0 0 0 I 0.0 0.0 0: 00.00 [md] 135 ریشه 0 -20 0 0 0 I 0.0 0.0 0: 00.00 [edac-poller] 136 root 0 -20 0 0 0 I 0.0 0.0 0: 00.00 [devfreq_wq] 137 root rt 0 0 0 0 S 0.0 0.0 0: 00.00 [watchdogd]
جزئیات دستور فوق:
- top: این دستور
- -b: حالت دسته ای.
- ] head -50: 50 خط اول را در خروجی نشان دهید.
- PID: شناسه فرآیند بی نظیر.
- USER: صاحب فرآیند .
- PR: اولویت فرآیند.
- NI: NICE مقدار پردازش.
- V چقدر از حافظه مجازی توسط این فرآیند استفاده می شود.
- RES: چقدر از حافظه فیزیکی توسط این فرآیند استفاده می شود. [19659018] SHR: چقدر حافظه اشتراکی توسط این فرآیند استفاده می شود.
- S: Y وضعیت روند را نشان می دهد: S = خواب R = در حال اجرا Z = زامبی. [19659018]٪ CPU: درصد پردازنده استفاده شده توسط این فرآیند.
- ٪ MEM: درصد رم استفاده شده توسط این فرآیند.
- TIME +: [19659025روندکارچقدرطولمیکشد؟
- فرمان: نام فرآیند.
اگر می خواهید مسیر کامل فرمان را به جای نام آن ببینید ، فرمت فرمان زیر را اجرا کنید:
# top -b | سر -50 برترین - 12:16:41 تا 57 روز ، 22:02 ، 3 کاربر ، میانگین بار: 1.98 ، 1.77 ، 1.83 وظایف: 309 نفر کل ، 1 دویدن ، 216 خواب ، 0 متوقف ، 0 زامبی ٪ Cpu (s): 3.0 us، 4.5 sy، 0.0 ni، 92.4 id، 0.0 wa، 0.0 سلام، 0.0 si، 0.0 st KiB Mem: 16400812 در کل ، 257304 رایگان ، 3169012 استفاده شده ، 12974496 buff / cache تعویض KiB: 0 تعداد ، 0 رایگان ، 0 مورد استفاده 13556452 سود مم PID USER PR NI VIRT RES SHR S٪ CPU٪ MEM TEM + Command 18002 root 20 0 0 0 0 I 6.2 0.0 0: 00.03 kworker / 2: 3-mm_ 18955 root 20 0 162 180 4496 3820 R 6.2 0.0 0: 00.01 top 26826 root 20 0 639508 524456 57648 S 6.2 3.2 1346: 12 kube-kontroller 28494 root 20 0 1515256 1.3g 52140 S 6.2 8.1 7619: 00 kube-apiserver 1 root 20 0 129568 9180 5252 S 0.0 0.1 152: 30.38 systemd 2 root 20 0 0 0 0 S 0.0 0.0 0: 01.77 برگشتread 3 ریشه 0 -20 0 0 0 I 0.0 0.0 0: 00.00 rcu_gp 4 ریشه 0 -20 0 0 0 I 0.0 0.0 0: 00.00 rcu_par_gp 6 ریشه 0 -20 0 0 0 I 0.0 0.0 0: 00.00 kworker / 0: 0H-kb 8 root 0 -20 0 0 0 I 0.0 0.0 0: 00.00 mm_percpu_wq 9 ریشه 20 0 0 0 0 S 0.0 0.0 6: 30.09 ksoftirqd / 0 10 root 20 0 0 0 0 I 0.0 0.0 131: 34.56 rcu_sched 11 root rt 0 0 0 0 S 0.0 0.0 0: 37.83 مهاجرت / 0 13 root 20 0 0 0 0 S 0.0 0.0 0: 00.00 cpuhp / 0 14 root 20 0 0 0 0 S 0.0 0.0 0: 00.00 cpuhp / 1 15 root rt 0 0 0 0 S 0.0 0.0 0: 36.70 مهاجرت / 1 16 ریشه 20 0 0 0 0 S 0.0 0.0 4: 50.88 ksoftirqd / 1 18 root 0 -20 0 0 0 I 0.0 0.0 0: 00.00 kworker / 1: 0H-kb 19 ریشه 20 0 0 0 0 S 0.0 0.0 0: 00.00 cpuhp / 2 20 root rt 0 0 0 0 S 0.0 0.0 0: 36.68 مهاجرت / 2 21 ریشه 20 0 0 0 0 S 0.0 0.0 5: 33.97 ksoftirqd / 2 23 root 0 -20 0 0 0 I 0.0 0.0 0: 00.00 kworker / 2: 0H-kb 24 root 20 0 0 0 0 S 0.0 0.0 0: 00.00 cpuhp / 3 25 root rt 0 0 0 0 S 0.0 0.0 0: 35.79 مهاجرت / 3 26 ریشه 20 0 0 0 0 S 0.0 0.0 6: 43.59 ksoftirqd / 3 28 ریشه 0 -20 0 0 0 I 0.0 0.0 0: 00.00 kworker / 3: 0H-kb 29 ریشه 20 0 0 0 0 S 0.0 0.0 0: 00.00 kdevtmpfs 30 ریشه 0 -20 0 0 0 I 0.0 0.0 0: 00.00 شبکه 31 root 20 0 0 0 0 S 0.0 0.0 0: 13.96 kauditd 32 root 20 0 0 0 0 S 0.0 0.0 0: 12.74 khungtaskd 33 root 20 0 0 0 0 S 0.0 0.0 0: 00.00 oom_reaper 34 root 0 -20 0 0 0 I 0.0 0.0 0: 00.00 بازپرداخت 35 root 20 0 0 0 0 S 0.0 0.0 0: 00.47 kcompactd0 36 root 25 5 0 0 0 S 0.0 0.0 0: 00.00 ksmd 37 root 39 19 0 0 0 S 0.0 0.0 0: 20.81 khugepaged 130 ریشه 0 -20 0 0 0 I 0.0 0.0 0: 00.00 kintegrityd 131 root 0 -20 0 0 0 I 0.0 0.0 0: 00.00 kblockd 132 root 0 -20 0 0 0 I 0.0 0.0 0: 00.00 blkcg_punt_bio 133 root 0 -20 0 0 0 I 0.0 0.0 0: 00.00 tpm_dev_wq 134 root 0 -20 0 0 0 I 0.0 0.0 0: 00.00 md 135 root 0 -20 0 0 0 I 0.0 0.0 0: 00.00 edac-poller 136 root 0 -20 0 0 0 I 0.0 0.0 0: 00.00 devfreq_wq 137 root rt 0 0 0 0 S 0.0 0.0 0: 00.00 watchdogd
2) نحوه یافتن فرایندی با استفاده از CPU زیاد در لینوکس با استفاده از دستور ps
ps مخفف وضعیت پردازش ها است ، اطلاعات مربوط به فرآیندهای فعال / در حال اجرا در سیستم را نشان می دهد.
این عکس مختصری از فرآیندهای فعلی را به همراه اطلاعات دقیق مانند نام کاربری ، شناسه کاربر ، استفاده از پردازنده ، استفاده از حافظه ، تاریخ شروع فرایند و نام فرمان زمان و غیره ارائه می دهد.
# ps -eo pid، ppid ،٪ mem،٪ cpu، cmd --sort = -٪ cpu | سر PID PPID٪ MEM٪ CPU CMD 18527 1714 4.2 40.3 / usr / lib / firefox / firefox -contentproc -childID 18 -isForBrowser -prefsLen 10002 -prefMapSize 213431 -parentBuildID 20191031132559 -greomni /usr/lib/firefox/omni.ja -appomni /omni.ja -appdir / usr / lib / firefox / مرورگر 1714 برگه واقعی 1714 1152 5.6 8.0 / usr / lib / firefox / firefox - new-windows 18324 1714 4.9 6.3 / usr / lib / firefox / firefox -contentproc -childID 16 -isForBrowser -prefsLen 10002 -prefMapSize 213431 -parentBuildID 20191031132559 -greomni /usr/lib/firefox/omni.ja -appom/ /omni.ja -appdir / usr / lib / firefox / مرورگر 1714 برگه واقعی 3286 1714 2.0 5.1 / usr / lib / firefox / firefox -contentproc -childID 14 -isForBrowser -prefsLen 8078 -prefMapSize 213431 -parentBuildID 20191031132559 -greomni /usr/lib/firefox/omni.ja -appom / /omni.ja -appdir / usr / lib / firefox / مرورگر 1714 برگه واقعی 1783 1714 3.0 4.5 / usr / lib / firefox / firefox -contentproc -childID 1 -isForBrowser -prefsLen 1 -prefMapSize 213431 -parentBuildID 20191031132559 -greomni /usr/lib/firefox/omni.ja -appomni / us / /omni.ja -appdir / usr / lib / firefox / مرورگر 1714 برگه واقعی 1227 1152 2.3 2.5 / usr / bin / gnome-shell 1170 1168 3.5 2.2 / usr / lib / Xorg vt2 -displayfd 3 -auth / run / user / 1000 / gdm / Xauthority -nolisten tcp-background no -noreset -keptty -verbose 3 16865 1714 2.5 2.1 / usr / lib / firefox / firefox -contentproc -childID 15 -isForBrowser -prefsLen 10002 -prefMapSize 213431 -parentBuildID 20191031132559 -greomni /usr/lib/firefox/omni.ja -appomni /omni.ja -appdir / usr / lib / firefox / مرورگر 1714 برگه واقعی 2179 1714 2.7 1.8 / usr / lib / firefox / firefox -contentproc -childID 6 -isForBrowser -prefsLen 7821 -prefMapSize 213431 -parentBuildID 20191031132559 -greomni /usr/lib/firefox/omni.ja -appom/ /omni.ja -appdir / usr / lib / firefox / browser 1714 tab true
اگر می خواهید به جای مسیر مطلق دستور ، فقط نام فرمان را ببینید ، از فرمت دستور ps در زیر استفاده کنید.
# ps -eo pid، ppid، ٪ mem،٪ cpu، comm --sort = -٪ cpu | سر دستورالعمل پردازنده PID PPID٪ MEM٪ 18527 1714 4.1 40.4 محتوای وب 1714 1152 5.7 8.0 فایرفاکس 18324 1714 4.9 6.3 محتوای وب 3286 1714 2.0 5.1 محتوای وب 1783 1714 3.0 4.5 محتوای وب 1227 1152 2.3 2.5 gnome-shell 1170 1168 3.5 2.2 Xorg 16865 1714 2.4 2.1 محتوای وب 2179 1714 2.7 1.8 محتوای وب