Mamy stałą pracę, która wykonuje du
streszczenia wielu podkatalogów, wyszukując najgorszych przestępców i wykorzystując wyniki, aby sprawdzić, czy istnieją rzeczy, które szybko rosną, aby wykryć potencjalne problemy. Używamy diff
przeciwko migawkom, aby je porównać.
Istnieje katalog najwyższego poziomu z kilkoma (kilkaset) podkatalogami, z których każdy może zawierać 10 tysięcy plików (lub więcej).
„” du -s
„W tym kontekście może być bardzo agresywne we / wy, powodując, że nasz serwer zwolni pamięć podręczną, a następnie ogromne skoki we / wy, które są bardzo niepożądanym efektem ubocznym.
Jaką strategię można zastosować, aby uzyskać te same dane bez niepożądanych efektów ubocznych?
disk-usage
io
limit
Danny Staple
źródło
źródło
Odpowiedzi:
Spójrz na
ionice
. Odman ionice
:Aby uruchomić
du
klasę We / Wy „bezczynną”, która jest najniższym dostępnym priorytetem, możesz zrobić coś takiego:To powinno przestać
du
zakłócać inne procesy We / Wy. Możesz również rozważyć ponowne uruchomienie programu, aby obniżyć jego priorytet procesora, na przykład:Możesz to zrobić zarówno podczas inicjalizacji:
źródło
renice
zamiastnice
. Aby rozpocząćdu
zarówno ionice i miły, można łańcucha oba programy:nice -n19 ionice -c3 du
.nice
sam wpływa również na priorytet harmonogramu we / wy, a nie tylko na procesor.nice
wpływa tylko na procesor (co może pośrednio wpływać na operacje wejścia / wyjścia, ale nie powinno mieć wpływu na priorytet harmonogramu operacji wejścia / wyjścia). Gdzie widzisz to zachowanie? Czy jest to gdzieś udokumentowane?nice
mówi o szczegółach , i mówi tylko o kwantach czasu bazowego procesora. Czy masz pojęcie, gdzie była ta książka? Byłbym zainteresowany, aby przeczytać autorytatywnego źródła, które to stany, nie jest wymieniony wman nice
,man 2 nice
,man 2 setpriority
,info nice
lubinfo 'nice invocation'
o ile mi może powiedzieć, co jest dziwne, ponieważ niektóre z tych przejść do całkiem sporo szczegółów o tym, jak wnice
pracach połączeń i co robi.Jeśli masz mnóstwo plików w jednym katalogu, może to być odpowiedzialne za skoki We / Wy, ponieważ wiele systemów plików nie obsługuje dużych drzew plików w jednym katalogu. Pomocne może być podzielenie go na więcej podkatalogów. Jeśli masz więcej niż 10 000 plików w jednym katalogu, co powoduje problemy, prawdopodobnie powinieneś go podzielić.
Jeśli chodzi o śledzenie użycia dysku, możesz najpierw rzucić okiem
df
, jeśli wartość użycia tam nie gwałtownie wzrosła, wówczas podkatalogi też nie i możeszdu
całkowicie pominąć .Inną alternatywą może być system przydziałów dysku, który stale monitoruje użycie, jeśli twój system plików go obsługuje.
źródło
df
nie zadziałałoby - problem polega na tym, że mamy skrypty czyszczące, więc możemy nie zauważyć żadnych zmian, ale przegapiliśmy wczesne ostrzeżenie o automatycznym zadaniu agresywnie zajmującym miejsce na dysku. Używamy zabbix do monitorowania ogólnego użycia dysku, ale znajomość poszczególnych katalogów, w których sprawy mają się trochę dziwnie, jest bardzo istotna.Ponadto
ionice
możesz spróbować zwiększyć wydajność dostępu do dysku. Można to wykonać, wykonując poleceniepo pierwsze (może też przez
ionice
). Nie będzie działać, jeśli jest zbyt wiele plików. Ile jest za dużo, zależy od ilości wolnej pamięci RAM.źródło