Jak mohu zaznamenat, jaký proces nebo jádra aktivita je pomocí disku v GNU / Linux?

hlasů
14

Na určitém Debian server iostat (a podobné) hlásí nečekaně vysoké množství (v bajtech) disku píše děje. Mám potíže pracující, který proces je dělat tyto zápisy.

Dva zajímavé body:

  1. Zkoušel vypnutí systémových služeb jeden po druhém bezvýsledně. aktivita disku zůstává poměrně konstantní a neočekávaně vysoká.

  2. Navzdory psaní, nezdá se být vyšší spotřebu celkový prostor na disku.

Oba z nich, abych si myslí, že psaní může být něco, co je jádro dělá, ale já ne, že vymění, takže to není mi jasné, co Linux zkusit psát.

Mohli vyzkoušet na vrcholu:

http://www.atcomputing.nl/Tools/atop/

ale rád bych, aby se zabránilo záplatování svůj jádro.

Jakékoli myšlenky na to, jak sledovat to dolů?

Položena 30/10/2008 v 09:25
zdroj uživatelem
V jiných jazycích...                            


8 odpovědí

hlasů
16

iotop je dobré (velký, ve skutečnosti).

Máte-li jádro z doby před 2.6.20, nemůžete používat většinu z těchto nástrojů.

Místo toho můžete vyzkoušet následující (který by měl pracovat pro téměř všechny 2,6 jádra IIRC):

    
sudo -s
dmesg -c
/etc/init.d/klogd zastavit
echo 1> / proc / sys / vm / block_dump
rm / tmp / disklog
hlídat "dmesg -c >> / tmp / disklog"
   CTRL-C, když jste hotovi sběru dat
echo 0> / proc / sys / vm / block_dump
/etc/init.d/klogd začít
exit (opuštění kořenového shell)

cat / tmp / disklog | awk -F "[() \ t]" '/ (READ | WRITE | zašpiněná) / {činnost [$ 1] ++} END {pro (x aktivity) tiskové x, aktivita [x]}' | sort-NR -k2

Dmesg -c řádky vymazat protokol jádra. Záznamník se poté vypne, ručně (pomocí hodinek) dumpingové na disk (vyrovnávací paměť je malá, což je důvod, proč musíme to udělat). Nech to běžet po dobu asi pěti minut nebo tak a pak Ctrl-C procesu hodinek. Po vypnutí protokolování a restartování klogd, analyzovat výsledky pomocí trochu awk na konci.

Odpovězeno 08/01/2009 v 09:03
zdroj uživatelem

hlasů
3

Pokud používáte jádro novější než 2.6.20, který je velmi snadné, protože to je první verze linuxového jádra, které obsahuje I / O účetnictví. Pokud jste sestavování své vlastní jádro, nezapomeňte uvést:

CONFIG_TASKSTATS=y
CONFIG_TASK_IO_ACCOUNTING=y

Jádra z oficiálních balíků již obsahují tyto příznaky, takže není potřeba rekompilace kernelu. Základní nástroj pro přístup k účetních dat I / O v reálném čase je iotop (1). To vám dává kompletní seznam procesů řízených I / O plánovači, a zobrazí na statistiku procesu pro čtení, zápis a celkový I / O pásma použita.

Odpovězeno 27/12/2008 v 21:17
zdroj uživatelem

hlasů
2

Možná budete chtít, aby prošetřila iotop pro Linux . Tam jsou některé verze Solaris plovoucí kolem, ale tam je balík se např.

Odpovězeno 30/10/2008 v 13:39
zdroj uživatelem

hlasů
1

Brendan Gregg je iosnoop skript (heuristicky) řekne o aktuálně používá disk, na nedávných jádrech ( příklad iosnoop výstup ).

Odpovězeno 03/08/2014 v 08:59
zdroj uživatelem

hlasů
1

Dalo by se také použít htop , umožňující sloupec IO_RATR. Htop je Exelent top náhrada.

Odpovězeno 21/06/2009 v 11:05
zdroj uživatelem

hlasů
1

Můžete použít UNIX příkazového lsof (seznam otevřených souborů). Které vytiskne proces, proces-id, uživatele k jakékoliv otevřeného souboru.

Odpovězeno 30/10/2008 v 09:42
zdroj uživatelem

hlasů
0

Nedávno jsem slyšel o Mortadelo, v Filemon klon, ale ještě si to ověřil sám sebe:

http://gitorious.org/mortadelo

Odpovězeno 17/02/2010 v 01:59
zdroj uživatelem

hlasů
0

Dalo by se snažit využít SystemTap , má mnoho příkladů, a pokud se nepletu, to ukazuje, jak dělat takové věci.

Odpovězeno 30/10/2008 v 09:28
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more