Как получить общее использование ОЗУ (например, 57%) на Linux - PullRequest
0 голосов
/ 06 февраля 2020

Мне интересно, как вы можете получить системное ОЗУ и представить его в процентах, используя, например, bash.

Пример вывода:

57%

1 Ответ

0 голосов
/ 07 февраля 2020

Если вы ищете сценарий bash, я только что придумал это.

Возможно, есть более эффективные способы сделать это, но я считаю, что это то, что вы ищете:

#!/bin/bash

# grab the second line of the ouput produced by the command: free -g (displays output in Gb)
secondLine=$(free -g | sed -n '2p')

#split the string in secondLine into an array
read -ra ADDR <<< "$secondLine"

#get the total RAM from array
totalRam="${ADDR[1]}"

#get the used RAM from array
usedRam="${ADDR[2]}"

# calculate and display the percentage
pct="$(($usedRam*100/$totalRam))"
echo "$pct%"

если вы сохраните это в файл (назовите его pct.sh), вы можете запустить его с помощью

$./pct.sh
33%

Примечание bash не поддерживает поплавки , только целые числа (IIR C), поэтому точность вычисления округляется.

Если вам нужна большая точность, вам может потребоваться использовать другую оболочку с поддержкой чисел с плавающей точкой, например zsh

Кредит при наличии кредита : создан с помощью: 1 2 3

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...