Narzędzia użytkownika

Narzędzia witryny


zuzycie_zasobow

Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

zuzycie_zasobow [2013/12/15 14:21] (aktualna)
zozlak utworzono
Linia 1: Linia 1:
 +====== Obserwowanie zużycia zasobów =======
 +
 +Odra dysponuje sporymi zasobami (16 rdzeni, 64 GB RAM-u), ale one też się kończą. Jeśli akurat pechowo trafimy na moment, w którym Tomek albo Bartek skalują egzaminy, to może się okazać, że brakuje wolnego RAM-u. Jeśli akurat Karolina i Paulina odpalą równolegle 14 modeli motywacji, to może się okazać, że brakuje wolnego procesora. Itd.
 +
 +W związku z tym **zanim odpalimy jakieś czasochłonne/​pamięciochłonne obliczenia, należy upewnić się, że na serwerze są dostępne stosowne zasoby**.
 +
 +Podobnie jeśli nie wiemy, ile zasobów zużyją nasze obliczenia, powinniśmy to obserwować i odpowiednio reagować, gdyby okazało się, że zaczynają zakłócać prace uruchomione już wcześniej przez innych.
 +
 +Do monitorowania zasobów służą dwa narzędzia opisane poniżej
 +
 +===== top =====
 +
 +Program //top// wyświetla odświeżaną na bieżąco listę działających programów.
 +W kolejnych kolumnach wyświetla on informacje o:
 +  * PID - identyfikatorze działającego programu w systemie);
 +  * USER - użytkowniku,​ który uruchomił program;
 +  * PR i NI- priorytecie programu (kombinacja wartości 20 i 0 oznacza normalny priorytet);
 +  * VIRT, RES, SHR - różnych rodzajach pamięci zużywanej przez program;
 +  * S - statusie programu (R - pracuje, S - śpi);
 +  * %CPU i %MEM - ilości zużywanego procesora i pamięci (100% procesora to jeden rdzeń, więc mogą tu występować wartości powyżej 100);
 +  * TIME+ - czasie działania programu (liczonym w czasie procesora, a więc gdy program nie wykorzystuje procesora, wtedy ten czas nie wzrasta);
 +  * COMMAND - nazwie programu.
 +
 +Z przydatnych komend sterujących jego działaniem:​
 +  * //h// - wyświetla pomoc;
 +  * //1// - przełącza prezentację zajętości procesora ze zagregowanej na w podziale na rdzenie;
 +  * //u// - pozwala odfiltrować programy wskazanego użytkownika;​
 +  * //L// - pozwala odfiltrować programy, których nazwa pasuje do wzorca;
 +  * //>// i //<// - zmienia kolumnę sortowania;
 +  * //x// - podświetla aktualnie sortowaną kolumnę.
 +
 +===== ps =====
 +
 +Program //ps// działa podobnie do //top//, ale wyświetla tylko stan na tu i teraz i kończy działanie. Wywołuje się go komendą <​code>​ps -au</​code>​. Lista kolumn jest bardzo podobna do //top//:
 +  * USER - użytkownik,​który uruchomił program;
 +  * PID - identyfikator działającego programu w systemie;
 +  * %CPU, %MEM - procesor i pamięć zużywane przez program w procentach;
 +  * VSZ, RSS - ilość różnych rodzajów pamięci zużywanych przez program;
 +  * TTY - identyfikator konsoli, na której program został uruchomiony;​
 +  * STAT - status programu;
 +  * START - data uruchomienia programu;
 +  * TIME - czas procesora zużyty na działanie programu;
 +  * COMMAND - pełna komenda, którą uruchomiono program
 +
 +Aby odfiltrować to, co zwraca //ps// wygodnie użyć jest komendy //grep//, np.<​code>​ps -au | grep mplus</​code>​odfiltruje tylko te linijki, które zawierają frazę //mplus// (chcę obejrzeć tylko to, kto obecnie używa mplusa), a <​code>​ps -au | grep zozlak</​code>​ tylko te, które zawierają frazę //zozlak// (czyli chcę obejrzeć tylko programy uruchomione przeze mnie).
 +
  
zuzycie_zasobow.txt · ostatnio zmienione: 2013/12/15 14:21 przez zozlak