Команда Linux top ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ систСмными администраторами Linux Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ использования систСмных рСсурсов, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ процСссор, дисковый Π²Π²ΠΎΠ΄/Π²Ρ‹Π²ΠΎΠ΄, срСдняя Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° систСмы, Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½Ρ‹Π΅ процСссы ΠΈ использованиС памяти.

Π― ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ Oracle OSWatcher Black Box (OSWbb) для сбора Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… систСмных Π΄Π°Π½Π½Ρ‹Ρ… для диагностики ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

Но Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ список процСссов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΡ‚Ρ€Π΅Π±Π»ΡΡŽΡ‚ ΠΌΠ½ΠΎΠ³ΠΎ CPU ΠΈ памяти Π² вашСй систСмС Π·Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ top.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ top Π² тСкстовый Ρ„Π°ΠΉΠ», ΠΊΠΎΠΌΠ°Π½Π΄Π° top Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π° Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅.

Как ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Linux Π² Π² ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ тСкстовый Ρ„Π°ΠΉΠ»

Π’ этом руководствС ΠΌΡ‹ ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌ Π²Π°ΠΌ, ΠΊΠ°ΠΊ Π·Π°Ρ…Π²Π°Ρ‚ΠΈΡ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ top Π² Ρ„Π°ΠΉΠ»Ρ‹ Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ для устранСния ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ.

ΠŸΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π²Ρ‹Π²ΠΎΠ΄Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ top Π² Ρ„Π°ΠΉΠ»

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ я Π½Π΅ использовал ΠΎΠΏΡ†ΠΈΡŽ delay, привСдСнная Π½ΠΈΠΆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π° top ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚ Π²Ρ‹Π²ΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ top Π·Π° ΠΎΠ΄Π½Ρƒ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΡŽ Π² Ρ„Π°ΠΉΠ».

πŸ“œΒ Bash – ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ стандартный Π²Ρ‹Π²ΠΎΠ΄ (stdout) ΠΈ ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΡƒΡŽ ΠΎΡˆΠΈΠ±ΠΊΡƒ (stderr ) Π² ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Ρ„Π°ΠΉΠ»

top -b -n 1 > /home/itisgood/backup/top_output.txt

ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈΠ· Ρ„Π°ΠΉΠ»Π°:

cat backup/top_output.txt | head -20

top - 14:11:15 up  2:34,  2 users,  load average: 0.87, 0.98, 1.40
Tasks: 332 total,   2 running, 330 sleeping,   0 stopped,   0 zombie
%Cpu(s):  3.3 us,  2.0 sy,  0.0 ni, 94.7 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem : 15831.25+total, 3907.852 free, 5055.945 used, 6867.457 buff/cache
MiB Swap: 2048.332 total, 2048.332 free,    0.000 used. 8452.277 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
12091 linuxge+  20   0 4210036 410464 204728 S 11.76 2.532  11:46.37 gnome-shell
14922 linuxge+  20   0 3039312 350928 121348 S 11.76 2.165   2:10.17 Web Content
20076 linuxge+  20   0   43696   4316   3692 R 11.76 0.027   0:00.04 top
12075 linuxge+   9 -11 2802264  15704  11212 S 5.882 0.097   5:42.77 pulseaudio
14163 linuxge+  20   0 3184192 524672 125504 S 5.882 3.236   3:31.18 Web Content
17274 linuxge+  20   0 28.615g 324396 115180 S 5.882 2.001  27:47.93 chrome
    1 root      20   0  238100  13744  10228 S 0.000 0.085   0:08.58 systemd
    2 root      20   0       0      0      0 S 0.000 0.000   0:00.01 kthreadd
    3 root       0 -20       0      0      0 I 0.000 0.000   0:00.00 rcu_gp
    4 root       0 -20       0      0      0 I 0.000 0.000   0:00.00 rcu_par_gp
    6 root       0 -20       0      0      0 I 0.000 0.000   0:00.00 kworker/0:0H-events_highpri
    7 root      20   0       0      0      0 I 0.000 0.000   0:03.78 kworker/0:1-mm_percpu_wq
    9 root       0 -20       0      0      0 I 0.000 0.000   0:00.00 mm_percpu_wq

Π‘ΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π²Ρ‹Π²ΠΎΠ΄Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ top с Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠ΅ΠΉ

Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΡƒΡŽ Π½ΠΈΠΆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ top, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π² Ρ„Π°ΠΉΠ» Π±ΠΎΠ»Π΅Π΅ 1 ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ.

Допустим, 5 ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ, Ρ‚ΠΎΠ³Π΄Π° Π²Ρ‹ смоТСтС ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ 5 Π²Ρ‹Π²ΠΎΠ΄ΠΎΠ², скомпонованных ΠΎΠ΄ΠΈΠ½ Π·Π° Π΄Ρ€ΡƒΠ³ΠΈΠΌ Π² Π»ΠΎΠ³-Ρ„Π°ΠΉΠ»Π΅.

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎ с Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ Π² 2 сСкунды, ΠΈ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π΄ΠΎΠ±Π°Π²ΠΈΠ² Π² Π²Π΅Ρ€Ρ…Π½ΡŽΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ‘-d’, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅:

top -n 5 -d 4 -b >/backup/top_output_1.txt

ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈΠ· Ρ„Π°ΠΉΠ»Π°:

cat /backup/top_output_1.txt

Как Π·Π°Ρ…Π²Π°Ρ‚ΠΈΡ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ top Π² Ρ„Π°ΠΉΠ» ΠΊΠ°ΠΆΠ΄Ρ‹Π΅ 5 ΠΌΠΈΠ½ΡƒΡ‚ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ часа

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π½ΠΈΠΆΠ΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ top позволяСт Π·Π°Ρ…Π²Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ top Π² Ρ„Π°ΠΉΠ» ΠΊΠ°ΠΆΠ΄Ρ‹Π΅ 5 ΠΌΠΈΠ½ΡƒΡ‚ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ часа.

БистСма создаСт ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» ΠΊΠ°ΠΆΠ΄Ρ‹Π΅ 5 ΠΌΠΈΠ½ΡƒΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ список процСссов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ потрСбляли большС CPU ΠΈ памяти Π² систСмС.

Для этого Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ cronjob:

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π½ΠΈΠΆΠ΅ cronjob Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ с 5 ΡƒΡ‚Ρ€Π° Π΄ΠΎ 6 ΡƒΡ‚Ρ€Π° ΠΊΠ°ΠΆΠ΄Ρ‹Π΅ 5 ΠΌΠΈΠ½ΡƒΡ‚ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ часа.

0-59/5 5 * * * top -n 10 -d 4 -b > /home/itisgood/backup/top_out-`date +\%Y\%m\%d\%H\%M\%S`.txt

Π”Π΅Ρ‚Π°Π»ΠΈ:

  • -n : Π—Π°Π΄Π°Π΅Ρ‚ максимальноС количСство ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ.
  • -b : Π Π°Π±ΠΎΡ‚Π° Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ (Запуск ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ top Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ для пСрСнаправлСния Π²Ρ‹Π²ΠΎΠ΄Π° Π² Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈΠ»ΠΈ Π² Ρ„Π°ΠΉΠ»)
  • -d : Π˜Π½Ρ‚Π΅Ρ€Π²Π°Π» Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ (Π—Π°Π΄Π°Π΅Ρ‚ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΌΠ΅ΠΆΠ΄Ρƒ обновлСниями экрана)

Π’Ρ‹Π²ΠΎΠ΄:

ls -lh | head -13

total 26M
-rw-r–r– 1 root root 116K Oct 25 05:00 top_out-20211025050001.txt
-rw-r–r– 1 root root 129K Oct 25 05:05 top_out-20211025050501.txt
-rw-r–r– 1 root root 124K Oct 25 05:10 top_out-20211025051001.txt
-rw-r–r– 1 root root 122K Oct 25 05:15 top_out-20211025051501.txt
-rw-r–r– 1 root root 119K Oct 25 05:20 top_out-20211025052001.txt
-rw-r–r– 1 root root 118K Oct 25 05:25 top_out-20211025052501.txt
-rw-r–r– 1 root root 119K Oct 25 05:30 top_out-20211025053001.txt
-rw-r–r– 1 root root 116K Oct 25 05:35 top_out-20211025053501.txt
-rw-r–r– 1 root root 115K Oct 25 05:40 top_out-20211025054001.txt
-rw-r–r– 1 root root 116K Oct 25 05:45 top_out-20211025054501.txt
-rw-r–r– 1 root root 115K Oct 25 05:50 top_out-20211025055001.txt
-rw-r–r– 1 root root 111K Oct 25 05:55 top_out-20211025055501.txt

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄ Π² ΠΎΠ΄ΠΈΠ½ Ρ„Π°ΠΉΠ», ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ cronjob:

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π½ΠΈΠΆΠ΅ cronjob Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ с 9 ΡƒΡ‚Ρ€Π° Π΄ΠΎ 10 ΡƒΡ‚Ρ€Π° ΠΊΠ°ΠΆΠ΄Ρ‹Π΅ 5 ΠΌΠΈΠ½ΡƒΡ‚ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ часа ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Π² ΠΎΠ΄ΠΈΠ½ Ρ„Π°ΠΉΠ».

0-59/5 9 * * * top -b -n5 -d 5 >>/home/itisgood/backup/top_output.txt

Как Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ top Π² Ρ„Π°ΠΉΠ» ΠΊΠ°ΠΆΠ΄Ρ‹Π΅ 5 ΠΌΠΈΠ½ΡƒΡ‚ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ получаса

Для этого Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ Π·Π°Π΄Π°Π½ΠΈΠ΅ cron: ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π½ΠΈΠΆΠ΅ cronjob запускаСтся ΠΊΠ°ΠΆΠ΄Ρ‹Π΅ 5 ΠΌΠΈΠ½ΡƒΡ‚ с 13:30 Π΄ΠΎ 14:00 Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ получаса.

30-59/5 13 * * * top -n 10 -d 4 -b > /home/itisgood/backup/top_out-`date +\%Y\%m\%d\%H\%M\%S`.txt

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’ этом руководствС ΠΌΡ‹ ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΈ Π²Π°ΠΌ, ΠΊΠ°ΠΊ Π·Π°Ρ…Π²Π°Ρ‚ΠΈΡ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ top Π² Ρ„Π°ΠΉΠ», ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ Π² Linux.

Если Ρƒ вас Π΅ΡΡ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ вопросы ΠΈΠ»ΠΈ замСчания, Π½Π΅ ΡΡ‚Π΅ΡΠ½ΡΠΉΡ‚Π΅ΡΡŒ ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ Π½ΠΈΠΆΠ΅.

см. Ρ‚Π°ΠΊΠΆΠ΅:

 

ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚Π΅ΡΡŒ ΡΡ‚Π°Ρ‚ΡŒΠ΅ΠΉ:

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ