Autor Wątek: Jak sprawdzić, który proces używa dysku? (OpenSuse 11.2 64)  (Przeczytany 9717 razy)

0 użytkowników i 1 Gość przegląda ten wątek.

rilicek

  • Geeko's friend
  • SUSE Root
  • *
  • Wiadomości: 2067
  • Kto nie ryzykuje, ten w kozie nie siedzi.
W moim laptopie, nawet podczas bezczynności, przy wygaszonym monitorze co jakiś czas mruga dioda dysku twardego. Jak sprawdzić, który proces używa dysku?
openSUSE Leap 42.2

n0kit31

  • Gość
Odp: Jak sprawdzić, który proces używa dysku? (OpenSuse 11.2 64)
« Odpowiedź #1 dnia: Luty 01, 2010, 06:53:26 pm »
Polecam zainstalować narzędzie htop.
Intuicyjne w obsłudze i przydatne jak cholera.

adasiek_j

  • Gość
Odp: Jak sprawdzić, który proces używa dysku? (OpenSuse 11.2 64)
« Odpowiedź #2 dnia: Luty 01, 2010, 10:44:29 pm »
Linux jest tak skonstruowany, że nawet jak nic nie robi to coś robi ;-)
Generalnie zawsze jądro ma coś do roboty, więc czyta/zapisuje dysk. Jeśli ci to mocno przeszkadza, albo jesteś bardzo dociekliwy, to jeszcze top potrafi wiele ciekawych rzeczy pokazać w czasie rzeczywistym.

top - takie narzędzie, działające w konsoli tekstowej, nalezy uruchamiać je jako użytkownik root.


Adam

Snickers

  • Moderator Kosza
  • Moderator
  • SUSE Root
  • *
  • Wiadomości: 1315
Odp: Jak sprawdzić, który proces używa dysku? (OpenSuse 11.2 64)
« Odpowiedź #3 dnia: Luty 02, 2010, 03:21:33 am »
Np iostat i/lub lsof
Just because I don't care doesn't mean I don't understand.

rilicek

  • Geeko's friend
  • SUSE Root
  • *
  • Wiadomości: 2067
  • Kto nie ryzykuje, ten w kozie nie siedzi.
Odp: Jak sprawdzić, który proces używa dysku? (OpenSuse 11.2 64)
« Odpowiedź #4 dnia: Luty 02, 2010, 11:59:42 am »
Podane programy podają użycie procesora, pamięci RAM i SWAP. Niestety nie mogę się doszukać gdzie podawane jest użycie dysku  :( . W moim przypadku użycie SWAP wynosi 0kB.

Chciałbym się dowiedzieć który proces używa dysku ze względu na problem z Load_Cycle_Count. Wydaje mi się, że z jednej strony Suse chce wyłączyć dysk a z drugiej strony co chwila jakiś proces żąda dostępu do dysku. Pomimo wyłączenia Advanced Power Management (hdparm -B 255 /dev/sda), podczas bezczynności komputer nabija Load_Cycle_Count.


Poniżej zestawienie Load_Cycle_Count z ostatnich paru dni. Zaznaczyłem, w którym momencie zmniejszyłem a potem wyłączyłem Advanced Power Management.
25/01/2010 20:01
Laptop2:/home/beatka # smartctl -a /dev/sda | grep Load_Cycle_Count
193 Load_Cycle_Count        0x0012   099   099   000    Old_age   Always       -       15084
25/01/2010 20:11
Laptop2:/home/beatka # smartctl -a /dev/sda | grep Load_Cycle_Count
193 Load_Cycle_Count        0x0012   099   099   000    Old_age   Always       -       15085
25/01/2010 23:22
Laptop2:/home/beatka # smartctl -a /dev/sda | grep Load_Cycle_Count
193 Load_Cycle_Count        0x0012   099   099   000    Old_age   Always       -       15108

hdparm -B 254 /dev/sda

26/01/2010 22:32
Laptop2:/home/beatka # smartctl -a /dev/sda | grep Load_Cycle_Count
193 Load_Cycle_Count        0x0012   099   099   000    Old_age   Always       -       15114
27/01/2010 21:54
Laptop2:/home/beatka # smartctl -a /dev/sda | grep Load_Cycle_Count
193 Load_Cycle_Count        0x0012   099   099   000    Old_age   Always       -       15117
28/01/2010 22:03
Laptop2:/home/beatka # smartctl -a /dev/sda | grep Load_Cycle_Count
193 Load_Cycle_Count        0x0012   099   099   000    Old_age   Always       -       15120
29/01/2010 20:43
Laptop2:/home/beatka # smartctl -a /dev/sda | grep Load_Cycle_Count
193 Load_Cycle_Count        0x0012   099   099   000    Old_age   Always       -       15126
30/01/2010 12:47
Laptop2:/home/beatka # smartctl -a /dev/sda | grep Load_Cycle_Count
193 Load_Cycle_Count        0x0012   099   099   000    Old_age   Always       -       15248

hdparm -B 255 /dev/sda

31/01/2010 10:26
Laptop2:/home/beatka # smartctl -a /dev/sda | grep Load_Cycle_Count
193 Load_Cycle_Count        0x0012   099   099   000    Old_age   Always       -       15251
31/01/2010 21:28
Laptop2:/home/beatka # smartctl -a /dev/sda | grep Load_Cycle_Count
193 Load_Cycle_Count        0x0012   099   099   000    Old_age   Always       -       15301
02/02/2010 11:39
Laptop2:/home/beatka # smartctl -a /dev/sda | grep Load_Cycle_Count
193 Load_Cycle_Count        0x0012   099   099   000    Old_age   Always       -       15338


openSUSE Leap 42.2

Snickers

  • Moderator Kosza
  • Moderator
  • SUSE Root
  • *
  • Wiadomości: 1315
Odp: Jak sprawdzić, który proces używa dysku? (OpenSuse 11.2 64)
« Odpowiedź #5 dnia: Luty 02, 2010, 12:39:28 pm »
Cytuj
iostat - Report Central Processing Unit (CPU) statistics and input/output statistics for devices, partitions and network filesystems (NFS).
Cytuj
lsof - list open files
Cytuj
df - report file system disk space usage
Just because I don't care doesn't mean I don't understand.

__Kris

  • Gość
Odp: Jak sprawdzić, który proces używa dysku? (OpenSuse 11.2 64)
« Odpowiedź #6 dnia: Luty 02, 2010, 01:27:53 pm »
Skrócona lista otwartych programów:

# lsof | awk '{print $1}' | sort | uniq -c

saturno

  • Gość
Odp: Jak sprawdzić, który proces używa dysku? (OpenSuse 11.2 64)
« Odpowiedź #7 dnia: Luty 02, 2010, 01:29:09 pm »
Chciałbym się dowiedzieć który proces używa dysku ze względu na problem z Load_Cycle_Count. Wydaje mi się, że z jednej strony Suse chce wyłączyć dysk a z drugiej strony co chwila jakiś proces żąda dostępu do dysku. Pomimo wyłączenia Advanced Power Management (hdparm -B 255 /dev/sda), podczas bezczynności komputer nabija Load_Cycle_Count.
Piszesz w dwóch tematach, razem: http://forum.suse.pl/index.php/topic,22460.msg150750.html#msg150750
Dotyczącą one praktycznie tego samego, lecz robisz to dość nieudolnie.
Bo tam nie dałeś jasno znać, że problem jednak jest i ciebie dotyczy + wstawienie wyników tych komend które tu podałeś + ewentualne zgłoszenie błędu.
A ty z kolei nie wspominasz:
Z moich obserwacji wynika, że intensywne parkowanie odbywa się podczas oszczędzania energii po wyłączeniu monitora.
Więc tu potrzebny jest ci jakiś log z pracy dysku, a nie bezpośredni odczyt z programów które w danej chwili pokazują odczyt z dysku, bo nic nie odczytasz mając w tym czasie wyłączony monitor.

Nie wiem czy dobrze kombinujesz, bo wydaje mi się że system zawsze będzie co jakiś czas sobie używał dysku.
Chyba, że cały system byłby załadowany do pamięci, a dysk służyłby tylko jako magazyn.
Bo jak nie beagle to jakiś preolad, zapisywanie ściąganych danych albo okresowe sprawdzanie jakiejś usługi i cały czas się coś dzieje.

rilicek

  • Geeko's friend
  • SUSE Root
  • *
  • Wiadomości: 2067
  • Kto nie ryzykuje, ten w kozie nie siedzi.
Odp: Jak sprawdzić, który proces używa dysku? (OpenSuse 11.2 64)
« Odpowiedź #8 dnia: Luty 02, 2010, 01:56:15 pm »
Cytuj
iostat - Report Central Processing Unit (CPU) statistics and input/output statistics for devices, partitions and network filesystems (NFS).

Niestety nie mam iostat. Jedyne polecenie zaczynające się na "io", które mam to: ionice.

... lecz robisz to dość nieudolnie.
Ale się staram  :wink:
openSUSE Leap 42.2