Znalazłem w IOStat, że część mojej aplikacji pisze obszernie, ale nie wiem, który to proces i do jakich plików pisze. W systemie Vista znajduje się narzędzie pokazujące pliki, które były aktywne w ciągu ostatnich 30 sekund. Czy jest coś podobnego w Linuksie?Narzędzie, które pokazuje mi, które pliki są napisane w systemie Linux?
Odpowiedz
Co szukasz jest lsof
. Jest to narzędzie wiersza poleceń, ale istnieje również GUI for it at sourceforge.
lsof pokazuje tylko pliki otwarte proces teraz – PiedPiper
Aby znaleźć wszystkie pliki zmodyfikowane w ciągu ostatnich 24 godzin (ostatni pełny dzień), w szczególności określonym katalogu i jego podkatalogów:
znaleźć/Directory_Path -mtime -1 -print
więcej na:
Czy jest też jakiś sposób na monitorowanie aktywności (przeczytaj write kb/s) na poszczególnych plikach? Serwer jest dość aktywny i wiele plików się zmieniło, ale potrzebuję tych z najwyższym transferem ... – smint
Nie jesteś pewien programu, ale polecenie find w narzędziu ma wiele opcji, które pozwolą ci znaleźć pliki i/lub katalogi, które zostały zmodyfikowane w określonym przedziale czasu.
Na przykład:
$ find /home/you -iname "*.txt" -mtime -1 -print
znajdzie pliki tekstowe, które zostały ostatnio zmodyfikowano 1 dzień temu.
Możesz zawinąć to połączenie w jakiś skrypt lub napisać własną, szybką aplikację, aby użyć wyników.
Oto strona z przykładami i więcej informacji:
Linux zapewnia API powiadamiania o zmianie pliku o nazwie "dnotify" oraz narzędzie wiersza poleceń dnotify. Możesz go użyć do śledzenia zmian w ciągu ostatnich 30 lat.
Prawdopodobnie napiszę aplikację, która będzie budować bezpośrednio na Linuksie API i odrzuci wszystkie zdarzenia starsze niż 30 sekund.
Dziękuję, miałem nadzieję, że jest coś już istniejący. – smint
lsof będzie lista wszystkich otwartych plików dla danego procesu:
lsof -p
strace -e trace=file -- <command>
pokaże Ci dokładnie jakie pliki aplikacja czyta i writong
Czy strace będzie działać na całym drzewie procesu, czy tylko na jednym procesie? –
Nie będzie działać na całym drzewie, ale można użyć opcji '-p pid', aby dołączyć do 32 procesów – PiedPiper
lub użyć '-f' do śledzenia procesów potomnych, ponieważ są one tworzone przez obecnie śledzone procesy w wyniku widełkowego (2) wywołanie systemowe – PiedPiper
Jeśli chcesz zobaczyć dostęp do wszystkich plików w czasie rzeczywistym (do 32 procesów) można użyć tego polecenia:
strace -f -e trace=file `ps aux | tail -n +2 | awk '{ORS=" "; print $2}' | sed -e 's/\([0-9]*\)/\-p \1 /g' | sed -e 's/\-p $//g'`
- 1. SVN pokazuje pliki w katalogu roboczym, które są nieaktualne.
- 2. Hibernate 4.1.9: Które pliki jar są mi potrzebne?
- 3. Które pliki są zawarte w pliku APK
- 4. Element tekstowy pokazuje pliki w folderze projektu, które zostały usunięte.
- 5. hg pokazuje zmodyfikowane pliki, które są niezmienione, dlaczego tak się dzieje?
- 6. CVS: pokaż pliki, które są lokalnie zmienione
- 7. W systemie Linux, jakie pliki są mapowane w pamięci?
- 8. Narzędzie Python, które sugeruje refaktoryzacje
- 9. Co to są pliki .rej, które są tworzone podczas scalania
- 10. Czy istnieje narzędzie, które pomoże mi dowiedzieć się, dlaczego moje e-maile są oznaczane jako spam?
- 11. Czy istnieje narzędzie, które usuwa funkcje, które nie są używane w Pythonie?
- 12. W systemie Linux, jak skopiować wszystkie pliki, które nie zaczynają się od danego ciągu?
- 13. Znajdź problemy, które kiedykolwiek zostały mi przypisane.
- 14. MySQL: jak mogę zobaczyć, które pliki konfiguracyjne są używane?
- 15. "svn add *" dodaje nawet te pliki, które są ignorowane
- 16. określają, które pakiety są używane.
- 17. W terminalu linux, jakie jest polecenie, które powie mi, w którym folderze jestem?
- 18. Narzędzie powłoki Mac OS X, które pokazuje indywidualne użycie procesora w systemach wielordzeniowych
- 19. Zagnieżdżone typy, które są publiczne
- 20. Które wzorce są niedostatecznie wykorzystane?
- 21. Mają przelotkę zaznacz wszystkie błędnie napisane słowa, nawet te, które nie zostały napisane podczas bieżącej sesji
- 22. Status git svn - pokazuje zmiany, które nie są zatwierdzone do svn
- 23. Czy istnieje narzędzie C#, które pozwoli mi wykonać dowolny blok kodu?
- 24. Szyny, które pliki należy zignorować dla GIT
- 25. Pobierz wszystkie klawisze, które są wciśnięte
- 26. browserify i pliki, które już mają sourcemap
- 27. Narzędzie ps w Linux (procps), jak sprawdzić, które CPU jest używany
- 28. NSLog dając mi ostrzeżenia, które nie może być naprawiona
- 29. znaleźć wszystkie, które są zerowe w stowarzyszeniu
- 30. Które silniki są używane w większych przeglądarkach?
Jus t z ciekawości: znam filemona, ale do jakiego narzędzia w Visty się odwołujesz? –
@ Panel administracyjny Leudwig -> Narzędzia administracyjne -> Monitor niezawodności i wydajności. Następnie kliknij pasek z napisem Dysk. Pokazuje najbardziej aktywne pliki i procesy, które odczytują lub zapisują. –
Już na serwerze ServerFault: http: // serverfault.com/questions/224629/see-what-files-is-being-written-to-like-iotop-but-for-files-not-processes –