🐧 Π‘ΠΊΡ€ΠΈΠΏΡ‚ Bash для ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° использования процСссора ΠΈ памяти Π½Π° Linux

ИспользованиС памяти Π² Linux ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ измСряСтся объСмом ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ процСссом.

Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ free, которая ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΠΎΠ±Ρ‰ΠΈΠΉ объСм памяти, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΈ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ, Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΡƒΡŽ Π² систСмС.

ИспользованиС процСссора Π² Linux ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ измСряСтся количСством ядСр процСссора, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ процСссом.

Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ top, которая ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ количСство ядСр процСссора ΠΈ ΠΎΠ±Ρ‰Π΅Π΅ количСство ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ процСссорного Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

Π’ Linux ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ использованиС процСссора ΠΈ памяти с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ скрипта Bash.

Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ инструмСнтов ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки top, free ΠΈ ps.

Команда top ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ использованиС рСсурсов всСх Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½Ρ‹Ρ… процСссов Π² систСмС, Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° free прСдоставляСт Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± использовании памяти.

Команда ps ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использована для просмотра ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌ процСссС.

Π’ этом руководствС Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅:

  • Как ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ использованиС процСссора ΠΈ памяти с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ скрипта bash

ЗНАЕВЕ Π›Π˜ Π’Π«?

Π—ΠΎΠΌΠ±ΠΈ-процСссы Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ЦП Π² Linux. Π—ΠΎΠΌΠ±ΠΈ-процСсс – это процСсс, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π°Π²Π΅Ρ€ΡˆΠΈΠ» Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅, Π½ΠΎ всС Π΅Ρ‰Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ запись Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ процСссов. ΠŸΡ€ΠΎΡ†Π΅ΡΡ ΠΏΠΎ сути β€œΠΌΠ΅Ρ€Ρ‚Π²β€, Π½ΠΎ Π΅Ρ‰Π΅ Π½Π΅ ΡƒΠ΄Π°Π»Π΅Π½ ΠΈΠ· Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ процСссов.

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

🧟 Как Π½Π°ΠΉΡ‚ΠΈ ΠΈ ΡƒΠ±ΠΈΡ‚ΡŒ Π·ΠΎΠΌΠ±ΠΈ-процСссы Π² систСмах Linux

Π‘ΠΊΡ€ΠΈΠΏΡ‚ Bash ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ систСмы Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ для сбора статистики использования Π·Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ врСмя.

Π‘ΠΊΡ€ΠΈΠΏΡ‚ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ±ΠΈΡ€Π°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± использовании ΠΈΠ· Ρ„Π°ΠΉΠ»Π° /proc/stat, Π° Π·Π°Ρ‚Π΅ΠΌ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ Π΅Π΅ Π² Ρ„Π°ΠΉΠ»Π΅ Π»ΠΎΠ³Π°.

Π‘ΠΊΡ€ΠΈΠΏΡ‚ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π½Π° ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΡƒ прСдупрСТдСния ΠΏΠΎ элСктронной ΠΏΠΎΡ‡Ρ‚Π΅, ΠΊΠΎΠ³Π΄Π° использованиС процСссора ΠΈΠ»ΠΈ памяти ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ ΠΏΠΎΡ€ΠΎΠ³.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, скрипт ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для запроса Ρƒ систСмы Ρ‚Π°ΠΊΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, ΠΊΠ°ΠΊ модСль процСссора, использованиС ΠΈ срСдниС значСния Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ.

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этой ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ скрипт ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использован для создания ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ² ΠΈ Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π°ΡŽΡ‚ прСдставлСниС ΠΎΠ± использовании систСмы.

ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ скрипт Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠ³ΠΎ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° процСссора ΠΈ памяти Π² Linux, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅, являСтся ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΌ способом отслСТивания ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ систСмы:

#!/bin/bash

# This script monitors CPU and memory usage



while :

do 

  # Get the current usage of CPU and memory

  cpuUsage=$(top -bn1 | awk '/Cpu/ { print $2}')

  memUsage=$(free -m | awk '/Mem/{print $3}')



  # Print the usage

  echo "CPU Usage: $cpuUsage%"

  echo "Memory Usage: $memUsage MB"

 

  # Sleep for 1 second

  sleep 1

done

Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚Π΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π²Ρ‹ΡˆΠ΅ скрипт Π² тСкстовый Ρ„Π°ΠΉΠ», сдСлайтС Π΅Π³ΠΎ исполняСмым ΠΈ запуститС.

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ Π²Ρ‹Π²ΠΎΠ΄ Π²Ρ‹ΡˆΠ΅ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ скрипта ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° процСссора ΠΈ памяти.

НиТС пСрСчислСны Π΄Ρ€ΡƒΠ³ΠΈΠ΅ инструмСнты/ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° использования ЦП ΠΈ памяти Π² систСмС Linux:

  • free: Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΎΠ±Ρ‰ΠΈΠΉ объСм свободной ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ физичСской памяти ΠΈ памяти ΠΏΠΎΠ΄ΠΊΠ°Ρ‡ΠΊΠΈ Π² систСмС, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π±ΡƒΡ„Π΅Ρ€ΠΎΠ² ΠΈ кэшСй, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… ядром.
  • top: Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° обСспСчиваСт динамичСскоС прСдставлСниС Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅ΠΉ систСмы Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Она ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ ΡΠ²ΠΎΠ΄Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ систСмС, Π° Ρ‚Π°ΠΊΠΆΠ΅ список Π·Π°Π΄Π°Ρ‡, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ управляСт ядро Linux.
  • htop: Π­Ρ‚ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ просмотрщик процСссов для Linux. Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² тСкстовом Ρ€Π΅ΠΆΠΈΠΌΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ процСссах Π² ΡƒΠ΄ΠΎΠ±Π½ΠΎΠΌ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π²ΠΈΠ΄Π΅.
  • vmstat: Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²Ρ‹Π΄Π°Π΅Ρ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ процСссах, памяти, ΠΏΠΎΠ΄ΠΊΠ°Ρ‡ΠΊΠ΅, Π±Π»ΠΎΡ‡Π½ΠΎΠΌ Π²Π²ΠΎΠ΄Π΅-Π²Ρ‹Π²ΠΎΠ΄Π΅, Π»ΠΎΠ²ΡƒΡˆΠΊΠ°Ρ… ΠΈ активности процСссора.
  • ps: Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для отобраТСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΡ… Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½Ρ‹Ρ… процСссах.
  • iostat: Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° сообщаСт статистику Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ процСссора (CPU) ΠΈ статистику Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π° для устройств ΠΈ Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ².

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

ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ скрипт Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠ³ΠΎ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° процСссора ΠΈ памяти Π² Linux являСтся эффСктивным ΠΈ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΌ инструмСнтом для ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ систСмы.

Он позволяСт систСмным администраторам эффСктивно ΠΈ быстро ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ систСмы Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

Π‘ΠΊΡ€ΠΈΠΏΡ‚ Π»Π΅Π³ΠΊΠΎ настраиваСтся ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ минимального обслуТивания.

Π•Π³ΠΎ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚Ρ‡Π΅Ρ‚Ρ‹ ΠΈ ΠΎΠΏΠΎΠ²Π΅Ρ‰Π°Ρ‚ΡŒ систСмных администраторов Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π³ΠΎ бСсцСнным рСсурсом для систСмного администратора.

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



2022-12-15T10:46:51
Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹

Π”Ρ€ΡƒΠ·ΡŒΡ ΠΏΠΎΠΌΠΎΠ³ΠΈΡ‚Π΅ этому ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Ρƒ ΡΡ‚Π°Ρ‚ΡŒ доступнСС Π² ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… сСтях.

НС ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈ ΠΌΠΈΠΌΠΎ ΠΆΠΌΠ°ΠΊΠ½ΠΈ ΠΏΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΡƒ Ρ‚ΠΎ Π΅Ρ‰Π΅ ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π΅Π½!