Procent zużycia procesora i ramu

Potrzebujesz pomocy z C, C++, perl, python, itp.
Michcio
Posty: 9
Rejestracja: 08 sierpnia 2008, 17:48

Procent zużycia procesora i ramu

Post autor: Michcio »

Witam.
Jak sprawdzić w bashu procentowe zużycie procesora i ramu? Chodzi mi, żeby tylko wyświetlało np. 15%.

Z góry dziękuję.
Awatar użytkownika
marcin1982
Moderator
Posty: 1731
Rejestracja: 05 maja 2011, 12:59
Lokalizacja: Zagłębie Dąbrowskie

Post autor: marcin1982 »

Polecenie:

Kod: Zaznacz cały

htop
elegancko pokazuje użycie procesora oraz pamięci RAM. Wykorzystanie pamięci pokaże również polecenie:

Kod: Zaznacz cały

free -m
Michcio
Posty: 9
Rejestracja: 08 sierpnia 2008, 17:48

Post autor: Michcio »

Lecz jak mogę z tego wyciągnąć sam procent? Bo chce sam procent zwrócić do skryptu php.
Awatar użytkownika
lessmian2
Member
Posty: 1088
Rejestracja: 30 kwietnia 2008, 19:38
Lokalizacja: Kraków

Post autor: lessmian2 »

Łomatko. Jak masz pola 'total' i 'used' jako wynik polecenia free, to nie umiesz policzyć ile to procent? Matematyka na poziomie podstawówki.
maxdawid
Posty: 52
Rejestracja: 17 września 2008, 11:30

Post autor: maxdawid »

  1. Kod: Zaznacz cały

    top
    
  2. Naciskasz klawisz ,,1'' (wyświetli wszystkie rdzenie), potem klawisz ,,W '' (zapisuje konfigurację, następnym razem nie będziesz musiał naciskać klawisza ,,1'').
  3. Kod: Zaznacz cały

    top -bn1 > plik.txt
  4. Parsowanie pliku.
buker999
Posty: 89
Rejestracja: 18 października 2011, 21:22
Lokalizacja: Warszawa

Post autor: buker999 »

Podłączę się do tematu bo prawie tego samego potrzebuję. Potrzebuję wyciągnąć z serwera dane na temat zużycia ramu, procesora, dysku itp., itd, i wstawić do bazy danych. Na razie mam problem z CPU.
Ram i Cpu już działa(kod niżej). Proszę o jakieś poprawki kosmetyczne albo inny model działania.
CPU:

Kod: Zaznacz cały

$wyk = "top -b -n 1 | awk {'print $9'}";
ob_start();system($wyk);
$wynik = ob_get_contents();
ob_end_clean();
$wynik = explode("%CPU", $wynik);
$obc = 0;
foreach(explode("\n", $wynik[1]) as $proc){        $obc += $proc;}
echo $obc.'%'; 
Pobieranie ramu działa dobrze ale może da się prościej:

Kod: Zaznacz cały

$rtotal = trim(shell_exec('grep MemTotal /proc/meminfo'));
$rfree = trim(shell_exec('grep MemFree /proc/meminfo'));
$ramtotalout = str_replace('MemTotal:', "", $rtotal);
$ramfreeout = str_replace('MemFree:', "", $rfree);
$ramtotal = trim(str_replace('kB', "", $ramtotalout));
$ramfree = trim(str_replace('kB', "", $ramfreeout));
echo $ramtotal."\n".$ramfree;
Czas zacząć bawić sie nad dyskami.
Potrzebuje wyswietlic ile dana maszyna ma dysku czyli max i ile jest zuzytego.
maxdawid
Posty: 52
Rejestracja: 17 września 2008, 11:30

Post autor: maxdawid »

Dysku czy partycji? Np. zamontowane partycje ładnie zostaną zwrócone przez:

Kod: Zaznacz cały

df -k 
buker999
Posty: 89
Rejestracja: 18 października 2011, 21:22
Lokalizacja: Warszawa

Post autor: buker999 »

maxdawid pisze:Dysku czy partycji? Np. zamontowane partycje ładnie zostaną zwrócone przez:

Kod: Zaznacz cały

df -k 
Chodzi o dysk. Ale to będę wyszukiwał z tekstem "sda", wycinał wszystko poza wartościami, a pod koniec dodam wszystko i gotowe.
Jak coś zmajstruje to wstawię

No i mam problem nie mam pojęcia jak wyszukać partycje te dla danych.
Po "dev" pokazuje (gdzie są montowane) nie mogę po sda, bo w niektórych zamiast "sda" może być "simfs". Ktoś ma jakiś pomysł?
Awatar użytkownika
lessmian2
Member
Posty: 1088
Rejestracja: 30 kwietnia 2008, 19:38
Lokalizacja: Kraków

Post autor: lessmian2 »

mount? /proc/mounts?
buker999
Posty: 89
Rejestracja: 18 października 2011, 21:22
Lokalizacja: Warszawa

Post autor: buker999 »

To nic mi nie daje
ODPOWIEDZ