W systemie OS X otrzymuję przyjemny odczyt pamięci systemowej czytelny dla człowieka :
printf -v system_memory \
"$(system_profiler SPHardwareDataType \
| awk -F ': ' '/^ +Memory: /{print $2}')"
echo "$system_memory"
drukuje przyjazny:
4 GB
Chociaż jest to poprawne w systemie Linux:
lshw -class memory
generuje:
size: 4096MiB
Muszę go boleśnie przeanalizować i spróbować zrobić z niego tak samo piękny sznurek jak powyższy.
Czy używam niewłaściwego polecenia?
memory
system-information
Robottinosino
źródło
źródło
Odpowiedzi:
Jeśli to wszystko, czego potrzebujesz, po prostu użyj
free
:free
zwraca informacje o pamięci,-h
przełącznik każe drukować w formacie czytelnym dla człowieka.źródło
free
miałem (fajny)-h
przełącznik. Dzięki. Bardzo ciekawe, jakfree
uważa4.0G
(co otrzymuję) bardziej przyjazne dla człowieka niż4 GB
. „Mamo, jestem głodna. Poproszę 1 jabłko, proszę”. Jeśli jest to najlepsze, co mamy w Linuksie, prawdopodobnie powinienem po prostu przeanalizować numer i wymienićG
go naGB
siebie. Bardzo rzadko widzimy dyski twarde, na przykład reklamowane jako „320G”, a nie „320 GB”. :(GB
, spróbujfree -h | gawk '/Mem:/{print $2}' | rev | cut -c 2- | rev | xargs printf "%.*fGB\n" 0
W systemie Linux
Przechowuje całkowitą kwotę mem
$memory
w liczbie kiB. To ilość pamięci dostępna dla Linuksa, taka sama jak podana przezfree
.Jeśli chcesz zainstalowaną pamięć RAM, możesz wykonywać następujące czynności:
Aby uzyskać rozmiar w MiB. Lub
Jeśli chcesz rozmiar w GiB.
źródło
Najprostszym sposobem jest użycie bezpłatnego polecenia
źródło