Generowanie miniatur zapełnia pamięć aplikacji, ponieważ serwer tworzy wiele obrazów pochodnych i zapisuje je w zapisywalnej ścieżce metadanych lub pamięci podręcznej.
Biblioteka multimediów może przechowywać wieloterabajtowe filmy na puli dysków HDD, podczas gdy kontener mapuje konfigurację, metadane i pamięć podręczną na znacznie mniejszy dysk SSD lub wolumin rozruchowy. Obrazy rozdziałów, podglądy trickplay, plakaty, tła i tymczasowe pliki ekstrakcji zwiększają rozmiar wraz z czasem działania biblioteki i ustawieniami generowania, a nie tylko z rozmiarem plików źródłowych. Bezpieczna naprawa zaczyna się od zidentyfikowania dokładnego typu obrazu pochodnego i ścieżki przed usunięciem czegokolwiek, czego baza danych nadal potrzebuje.
Zlokalizuj katalog, który faktycznie się powiększa
Zmierz osobno katalogi konfiguracji, pamięci podręcznej, metadanych, transkodowania i plików tymczasowych aplikacji multimedialnej. Posortuj podkatalogi według przydzielonego rozmiaru i czasu ostatniej modyfikacji, gdy działa zadanie generowania miniatur.
Interfejs Jellyfin wyraźnie opisuje ekstrakcję obrazów rozdziałów jako powolną i wymagającą dużej ilości zasobów, która może wymagać kilku gigabajtów miejsca.
Sprawdź, czy dane przyrastają w montowaniu bind na hoście, woluminie nazwanym czy zapisywalnej warstwie kontenera. Jeśli rośnie warstwa kontenera, najpierw popraw konfigurację trwałego przechowywania; w przeciwnym razie miejsce może zniknąć z widoku aplikacji, nadal zajmując pamięć systemową Dockera.
Ustal, która funkcja obrazów utworzyła pliki
Oddziel zwykłe plakaty i tła od obrazów rozdziałów, podglądów trickplay, miniatur podglądu wideo, znaczników intro i grafik generowanych przez wtyczki. Każda funkcja ma inny wyzwalacz i zasady przechowywania.
Funkcja trickplay tworzy powtarzające się próbki obrazu na osi czasu filmu, aby klienci mogli wyświetlać podglądy podczas przewijania. Wynikowe siatki obrazów zależą głównie od całkowitego czasu trwania, interwału próbkowania, rozdzielczości, jakości i układu kafelków, a nie od tego, czy źródło ma rozdzielczość 1080p czy 4K.
Uruchom ręcznie jedno zaplanowane zadanie, obserwując docelowy katalog. Dopasuj nowe nazwy plików i wpisy w bazie danych do funkcji, która je utworzyła. Nie wyłączaj wszystkich dostawców metadanych, jeśli odpowiada za to tylko jedno zadanie podglądu.
Sprawdź interwał, rozdzielczość, jakość i zakres biblioteki
Zapisz szerokość miniatur, interwał próbkowania, jakość JPEG lub WebP, wymiary kafelków, liczbę wątków oraz biblioteki uwzględnione podczas generowania. Krótsze interwały i większe obrazy oznaczają więcej zapisanych pikseli na godzinę filmu.
Generowanie może również rozpocząć się ponownie po zmianie ustawień lub aktualizacji. Zgłoszenie Jellyfin opisuje użytkowników, którzy nie mogli zatrzymać wcześniej wygenerowanych danych trickplay, ponieważ wyłączenie funkcji nie usunęło istniejących danych.
Zmień jedno ustawienie w małej bibliotece testowej i porównaj liczbę bajtów wygenerowanych na godzinę multimediów. Użyj zmierzonego współczynnika, aby oszacować rozmiar dla całej biblioteki przed uruchomieniem kolejnego pełnego zadania ekstrakcji.
| Zmiana ustawienia | Prawdopodobny wpływ na pamięć | Kompromis |
|---|---|---|
| Dłuższy interwał próbkowania | Mniej obrazów | Mniej precyzyjne podglądy podczas przewijania |
| Mniejsza szerokość miniatur | Mniejsze pliki | Mniej wyraźne obrazy podglądu na telewizorze |
| Niższa jakość obrazu | Mniejsze pliki | Więcej artefaktów kompresji |
| Węższy zakres biblioteki | Mniej zajętej pamięci | Brak podglądów dla wykluczonych bibliotek |
Wybierz ustawienia dopasowane do rzeczywistych ekranów klientów i sposobu przewijania, zamiast generować pochodne obrazy najwyższej jakości dla każdego tytułu.
Poszukaj nieaktualnych lub osieroconych zestawów miniatur
Porównaj aktywne elementy multimedialne z wygenerowanymi katalogami po zastąpieniu, zmianie nazwy, przeniesieniu lub usunięciu plików. Stare zestawy podglądów mogą pozostać, gdy nowy plik otrzyma inny identyfikator elementu lub nazwę wyjściową.
Zgłoszenie Jellyfin pokazuje, że nieaktualne obrazy trickplay przechowywane obok multimediów nie zostały usunięte po wygenerowaniu zastępczych podglądów, pozostawiając stare dane trickplay obok aktualnego zestawu.
Najpierw użyj obsługiwanego przez aplikację zadania czyszczenia i upewnij się, że masz kopię zapasową bazy danych metadanych. Jeśli konieczne jest ręczne usunięcie, przetestuj jeden osierocony element i odśwież go przed usunięciem dużych drzew katalogów, których powiązania są nieznane.
Sprawdź, czy obrazy powinny znajdować się w pamięci aplikacji czy obok multimediów
Niektóre serwery multimedialne mogą zapisywać grafiki lub dane trickplay obok biblioteki, podczas gdy inne przechowują pochodne powiązane z bazą danych w metadanych aplikacji. Przeniesienie lokalizacji zmienia zasady tworzenia kopii zapasowych, uprawnienia, migrację i działanie z mediami tylko do odczytu.
Zapisywanie podglądów obok multimediów może ułatwić przenoszenie, ale może też zwielokrotnić liczbę małych plików na dużym udziale HDD i wymagać dostępu do zapisu w bibliotece. Jeden z problemów migracji Jellyfin pokazuje, że lokalnie przechowywane pliki trickplay mogą nie przenosić się poprawnie między instancjami.
Przechowuj pochodne powiązane z bazą danych i często zmieniane na odpowiednio dużym woluminie aplikacji, chyba że aplikacja w pełni obsługuje przenośne obrazy lokalne. Jeśli wybrany układ nie wymaga dostępu do zapisu, udostępniaj udział multimediów tylko do odczytu.
Przenieś wolumin aplikacji bez rozdzielania stanu bazy danych
Jeśli ustawienia są rozsądne, ale wolumin aplikacji jest zbyt mały, zatrzymaj serwer multimedialny i przenieś kompletną konfigurację, metadane oraz pamięć podręczną zgodnie z projektem trwałych punktów montowania kontenera. Zachowaj właściciela, listy ACL, pliki bazy danych i dowiązania symboliczne.
Artykuł ZimaSpace dotyczący woluminów aplikacji na SSD dla metadanych i miniatur wyjaśnia, dlaczego te obciążenia z małymi plikami korzystają z szybkiej pamięci, podczas gdy duże multimedia źródłowe mogą pozostać na dyskach HDD.
Nie przenoś tylko największego folderu obrazów, pozostawiając ścieżki bazy danych w starym miejscu, chyba że aplikacja obsługuje taki podział. Uruchom zmigrowaną instancję w izolacji i potwierdź, że stare miniatury są poprawnie odnajdywane, zanim rozpoczniesz generowanie nowych.
Bezpiecznie wyczyść dane i ustal punkt odniesienia dla przyrostu
Wstrzymaj zadania generowania miniatur, wykonaj kopię zapasową bazy danych aplikacji i zapisz bieżącą liczbę plików oraz liczbę bajtów według typu pochodnych. Usuwaj tylko potwierdzone nieaktualne dane wyjściowe lub korzystaj z obsługiwanych przez aplikację opcji usuwania i ponownego generowania.
Pełny dysk SSD może wpływać nie tylko na miniatury. Zgłoszenie Jellyfin łączy wyczerpanie miejsca na SSD z podejrzeniem uszkodzenia bazy danych i niepełnym widokiem biblioteki, pokazując, dlaczego wyczerpanie wolnego miejsca może zagrozić stanowi aplikacji.
Po wyczyszczeniu uruchom generowanie dla jednej biblioteki, zmierz dzienny przyrost i skonfiguruj alerty, zanim wolumin aplikacji osiągnie próg rezerwy. Naprawa jest zakończona, gdy oczekiwane podglądy działają, nieaktualne dane nie pojawiają się ponownie, a przyrost pamięci odpowiada wybranemu interwałowi, rozdzielczości, jakości i zakresowi biblioteki.
Wsparcie i wskazówki
Więcej do przeczytania

Czy Plex może współdzielić kartę graficzną z innym kontenerem Dockera?
Plex i inny kontener często mogą korzystać z tego samego układu GPU, ale należy przetestować obsługę sterowników, mapowanie urządzeń, obciążenie silnika wideo, pamięć oraz...

Jak ustalić, czy błąd Plex pochodzi od klienta, czy od serwera
Odtwórz ten sam przypadek na innym kliencie, porównaj ścieżkę sesji, a następnie zbierz dowody z serwera dopiero wtedy, gdy zakres analizy wskaże, gdzie faktycznie...

Jak skonfigurować pamięć podręczną Plex i tymczasową pamięć na transkodowane pliki
Chroń trwały stan Plex, umieszczając tymczasowe pliki transkodowania na odpowiedniej pamięci lokalnej, a następnie zweryfikuj czyszczenie, ilość wolnego miejsca i zachowanie podczas ponownego uruchamiania.

