На OS X я получаю приятное для чтения человеком чтение системной памяти примерно так:
printf -v system_memory \
"$(system_profiler SPHardwareDataType \
| awk -F ': ' '/^ +Memory: /{print $2}')"
echo "$system_memory"
распечатывает дружественный:
4 GB
Хотя это в Linux правильно:
lshw -class memory
это выводит:
size: 4096MiB
Мне нужно мучительно разобрать его и попытаться превратить его в строку, такую же, как приведенная выше.
Я использую неправильную команду?
memory
system-information
Robottinosino
источник
источник
Ответы:
Если это все, что вам нужно, просто используйте
free
:free
возвращает информацию о памяти,-h
коммутатор приказывает ей печатать в удобочитаемом формате.источник
free
был (хороший)-h
переключатель. Благодарю. Очень интересно , какfree
Димс4.0G
(который является то , что я получаю) более человек дружелюбный , чем4 GB
. "Мама, я голоден, я хотел бы 1,0 яблоко, пожалуйста." Если это лучшее, что у нас есть в Linux, я, вероятно, должен просто разобрать номер и заменить егоG
наGB
себя. Очень редко мы видим жесткие диски, например, рекламируемые как «320G», а не «320 ГБ». :(GB
free -h | gawk '/Mem:/{print $2}' | rev | cut -c 2- | rev | xargs printf "%.*fGB\n" 0
В Linux
Будет хранить общую сумму мем
$memory
в количестве килобайт. Это объем памяти, доступный для Linux, такой же, как сообщалfree
.Если вы хотите установить оперативную память, вы можете сделать что-то вроде:
Чтобы получить размер в мибах. Или
Если вы хотите размер в ГиБ.
источник
Самый простой способ - использовать бесплатную команду
источник