Jedna wkładka pokazująca użycie procesora, pamięci RAM i dysku twardego

15

Widziałem kilka postów, które chcą tego samego w zakresie użytkowania, jednak odpowiedzi ZAWSZE odnoszą się do instalowania narzędzi innych firm.

Nie chcę niczego instalować.

Jakieś wkładki? Przyjemny wynik to:

CPU 11% RAM 20% HDD 85%
Karl Morrison
źródło
Czy użycie dysku twardego to procent jego zapełnienia lub zajętości?
Bajt Dowódca
@ByteCommander Both? :) Mówiąc poważnie, pojemność jednak. Jeśli oba byłyby fajne.
Karl Morrison
Westchnienie .......: - /
Bajt Dowódca
@ByteCommander Przez pojemność rozumiem „jak pełny”, gdybym nie był jasny :)
Karl Morrison

Odpowiedzi:

29

Możesz tego użyć

echo "CPU `LC_ALL=C top -bn1 | grep "Cpu(s)" | sed "s/.*, *\([0-9.]*\)%* id.*/\1/" | awk '{print 100 - $1}'`% RAM `free -m | awk '/Mem:/ { printf("%3.1f%%", $3/$2*100) }'` HDD `df -h / | awk '/\// {print $(NF-1)}'`"

Dane wyjściowe to

CPU 7.4% RAM 33.9% HDD 94%
MKay
źródło
2
część HD będzie ssać, jeśli masz wiele partycji.
coteyr
1
df -h /część wiersza poleceń pokazuje statystyki dotyczące /partycji. Możesz powtórzyć df -hpolecenie i zastąpić /punktem montowania, który chcesz monitorować.
MKay
1
Nie działa dla mnie. Procesor ma zawsze 91%, nie mam pojęcia, skąd to bierze. // A pamięć RAM zawiera bufory i pamięć podręczną, dzięki czemu wygląda na wyczerpaną. Używam 97,8% pamięci RAM, ale wciąż jest 67,5% wolne.
Oskar Skog
2
@OskarSkog Twój topjest w porządku. Zużycie procesora nie może być mierzone w bieżącym momencie, musi być mierzone w krótkim okresie czasu. Kiedy topuruchamia pierwszą iterację, pokazuje średnie użycie od ostatniego restartu. Począwszy od drugiej iteracji pokazuje rzeczywiste bieżące użycie od poprzedniej iteracji. A jeśli masz problemy z lokalizacją, możesz umieścić LC_ALL=Cprzed poleceniem, aby użyć domyślnej lokalizacji w języku angielskim (formaty liczb itp., A nie język).
Bajt Dowódca
2
@MKay: Możesz wymienić top -bn1 | grep "Cpu(s)"z top -bn2 | grep "Cpu(s)" | tail -n1. Ten pierwszy wyświetli długoterminową średnią, jak wskazał Byte Commander.
Oskar Skog
7

W przypadku użycia procesora (średnio (user+system)/(user+system+idle)razy ponad 0,1 sekundy):

(grep 'cpu ' /proc/stat;sleep 0.1;grep 'cpu ' /proc/stat)|awk -v RS="" '{print "CPU "($13-$2+$15-$4)*100/($13-$2+$15-$4+$16-$5)"%"}'

W przypadku użycia pamięci RAM ( (total-available)/total):

awk '/MemTotal/{t=$2}/MemAvailable/{a=$2}END{print 100-100*a/t"%"}' /proc/meminfo

W przypadku użycia dysku twardego (tylko wolumin zamontowany jako /):

df | awk '/ \/$/{print "HDD "$5}'
Bajt Dowódca
źródło
Co ciekawe, dostępna jest mniejsza ilość pamięci niż w przypadku opcji „free -m | głowa -n3 | tail -n1 'zgłasza jako wolną pamięć.
Oskar Skog
@OskarSkog Czy możesz udostępnić wyniki tej komendy? Dla mnie to po prostu drukuje linię Zamień sumę / wykorzystaną / wolną, co nie jest tutaj istotne. Może miałeś na myśli coś innego lub twoje freepolecenie nadal używa starego formatu wyjściowego z osobnymi - / + buforami / linią pamięci podręcznej ...
Byte Commander
Mój darmowy używa starego formatu: oskog97.com/sshin/free-output.png Co się zmieniło?
Oskar Skog
3
@OskarSkog Wiersz „- / + buffers / cache” został usunięty i zamiast tego w wierszu „Mem” znajduje się dodatkowa kolumna „dostępna”. Od man free: „ Szacowanie, ile pamięci jest dostępne do uruchamiania nowych aplikacji bez zamiany. W przeciwieństwie do danych dostarczanych przez pamięć podręczną lub wolne pola, to pole uwzględnia pamięć podręczną strony, a także, że nie wszystkie płyty pamięci, które można odzyskać, zostaną odzyskane z powodu elementów w użyciu MemA Dostępne w / proc / meminfo, dostępne w jądrach 3.14, emulowane w jądrach 2.6.27+, w przeciwnym razie takie same jak darmowe) "
Byte Commander