Napraw wysokie użycie procesora Zimbra za pomocą ClamAV lub FreshClam
Gdy serwer Zimbra nagle zwalnia, administratorzy często widzą clamdlub freshclamprawie widzą , że topusługa antywirusowa jest zablokowana i zakładają, że jest zablokowana. Taka sytuacja może mieć miejsce, ale oba procesy wykonują różne zadania: freshclampobierają i weryfikują aktualizacje sygnatur, a jednocześnie clamdskanują pliki i wiadomości. Zajęta kolejka poczty, przeładowanie bazy danych, nieudana pętla aktualizacji lub drugi demon antywirusowy – wszystko to może sugerować, że „ClamAV zużywa za dużo procesora”. Przed ponownym uruchomieniem lub zmianą ustawień antywirusowych należy zidentyfikować proces, który jest najbardziej obciążony.
Ten przewodnik prowadzi od kontroli niskiego ryzyka do odzyskiwania usług. Poniższe polecenia i ścieżki odzwierciedlają typowe instalacje Zimbra; dokładna ścieżka ClamAV i obsługiwane kroki odzyskiwania różnią się w zależności od wersji Zimbra Collaboration. Przed wprowadzeniem zmian należy je sprawdzić w zainstalowanej wersji.
1. Sprawdź, który proces ClamAV zużywa procesor
Zacznij od zapisania nazwy procesu, użycia procesora, czasu, jaki upłynął, oraz ścieżki polecenia. Uruchom to jako root lub na koncie z uprawnieniami do inspekcji procesów systemowych:
Następnie obserwuj podejrzany proces przez co najmniej krótki czas top -p PID, zastępując PIDgo numerem z pierwszego polecenia. Pojedynczy odczyt nie wystarczy do zdiagnozowania utrzymującego się problemu: psraportuje migawkę, a jednocześnie toppomaga sprawdzić, czy obciążenie procesora pozostaje wysokie, czy spada po zakończeniu skanowania lub aktualizacji. Zwróć również uwagę, czy ścieżka należy do Zimbry, zazwyczaj w ramach /opt/zimbra, czy do oddzielnego pakietu systemu operacyjnego.
Polecenie terminala filtruje listę procesów, dzięki czemu można sprawdzić, czy aktywny jest clamd lub freshclam.
Jeśli freshclampo pomyślnej aktualizacji nastąpi krótkotrwały skok i proces przejdzie w stan bezczynności lub powróci do stanu bezczynności, różni się to od procesu, który pozostaje zajęty. Jeśli clamdjest to proces, który jest długotrwale zajęty, bardziej prawdopodobnym punktem wyjścia jest skanowanie wiadomości lub ładowanie bazy danych. Nie zamykaj żadnego procesu tylko dlatego, że jedna próbka ma wysoki poziom obciążenia; najpierw sprawdź logi i upewnij się, że poczta nadal jest przesyłana.
2. Przed zmianą ustawień przeczytaj logi programu antywirusowego
W katalogu logów Zimbry znajdują się logi antywirusowe. W wielu instalacjach sprawdź ostatnie wpisy za pomocą:
Sprawdź znaczniki czasu obok skoku obciążenia procesora. W przypadku clamd.log, powtarzające się żądania skanowania lub komunikaty dotyczące obciążenia bazy danych mogą łączyć użycie procesora z aktywnością poczty lub przeładowaniem podpisu. W przypadku freshclam.log, zakończona aktualizacja, po której następuje okres ciszy, sugeruje rutynowe prace aktualizacyjne; powtarzające się awarie połączenia, ponowne próby, błędy sumy kontrolnej lub aktualizacja, która nigdy się nie kończy, wymagają dokładniejszego zbadania. Sprawdź również dziennik poczty Zimbra w tym samym czasie, ponieważ wzrost liczby wiadomości przychodzących lub załączników może zwiększyć częstotliwość skanowania.
Użyj dwóch poleceń log, aby porównać aktywność skanera z aktywnością aktualizacji sygnatury.
Skorzystaj z odnośnika do pliku dziennika Zimbra , aby potwierdzić lokalizację logów dla swojej wersji. Poradnik rozwiązywania problemów z FreshClam firmy ClamAV wyjaśnia typowe błędy programu aktualizującego, w tym problemy z DNS, pobieraniem i limitami przepustowości. Ostrzeżenie, że silnik jest starszy niż najnowsza wersja ClamAV, samo w sobie nie dowodzi uszkodzenia bazy danych; Zimbra pakuje przetestowany silnik z wersją ZCS.
3. Sprawdź, czy nie występuje duplikat programu aktualizującego, czy na dysku nie ma za mało miejsca lub czy nie występuje gwałtowny wzrost obciążenia
Przed przystąpieniem do strojenia należy wykluczyć typowe przyczyny, które mogą powodować zajęcie usługi:
Duplikaty procesów: Sprawdź, czy występuje więcej niż jeden clamdproces freshclam. Osobno zainstalowana usługa ClamAV na poziomie systemu operacyjnego lub niestandardowe zadanie cron mogą uruchamiać drugą kopię obok usługi zarządzanej Zimbra. Nie wyłączaj usługi, dopóki nie potwierdzisz, do którego produktu należy i co ją uruchamia.
Obciążenie dysku: Sprawdź dostępne miejsce i inody za pomocą df -h /opt/zimbrai df -i /opt/zimbra. Pełny system plików może uniemożliwić tymczasową aktualizację lub zapis do dziennika i spowodować ponowne próby. Nie usuwaj ręcznie plików sygnatur, aby zwolnić miejsce.
Wolumen poczty: Porównaj wzrost obciążenia procesora z wolumenem wiadomości przychodzących, rozmiarem załącznika, pocztą w kolejce i wszelkimi ostatnimi zbiorczymi przesyłkami. Wzrost obciążenia może zwiększyć clamdobciążenie nawet przy sprawnym działaniu usługi.
Aktualizacja łączności: Jeśli freshclamproblem się powtarza, sprawdź rozdzielczość DNS hosta, zegar, łączność wychodzącą i wszelkie wymagane ustawienia serwera proxy. Rozwiąż podstawowy problem z siecią lub serwerem proxy zamiast wielokrotnie uruchamiać ręczne zadania aktualizacji.
Przed próbą odzyskania bazy danych sprawdź ilość wolnego miejsca i katalog bazy danych sygnatur.
ClamAV dokumentuje, w jaki sposób konfiguracja FreshClam kontroluje zachowanie aktualizacji i rejestrowanie w swojej instrukcji konfiguracji . Zimbra dokumentuje również atrybut częstotliwości aktualizacji definicji wirusów, ale jego wartość i konfigurację należy sprawdzić w swojej wersji ZCS. Nie zmniejszaj częstotliwości aktualizacji jako szybkiego rozwiązania problemu z procesorem: nieaktualne sygnatury osłabiają ochronę, a nieprawidłowa ścieżka DNS lub proxy będzie nadal powodować błędy niezależnie od harmonogramu.
4. Zastosuj najmniej uciążliwe rozwiązanie zgodne z dowodami
Jeśli clamd jest zajęty podczas wysyłania poczty seryjnej
Pozwól, aby bieżące obciążenie procesora i dostarczanie poczty spadło. Jeśli ten sam schemat się powtórzy, skoreluj go z rozmiarem wiadomości, skompresowanymi załącznikami i wolumenem poczty przychodzącej, a następnie sprawdź pojemność serwera i politykę skanowania załączników w swojej organizacji. Unikaj dodawania nieudokumentowanych limitów ClamAV lub wykluczania typów plików bez oceny wpływu na bezpieczeństwo i sprawdzenia, które mechanizmy kontroli Zimbra obsługuje zainstalowana wersja.
Jeśli Freshclam wielokrotnie zawodzi
Napraw DNS, proxy, zaporę sieciową, zegar lub wychodzący dostęp do sieci wskazany w logu. Upewnij się, że uruchomiony jest tylko przeznaczony dla Zimbry program aktualizujący. Nie planuj częstych ręcznych wywołań ani nie pobieraj baz danych sygnatur za pomocą skryptów ad hoc; ClamAV identyfikuje FreshClam lub cvdupdate jako obsługiwane metody aktualizacji, a zintegrowana z systemem Zimbra integracja powinna pozostać źródłem prawdy dla serwera Zimbra.
Jeśli baza danych wydaje się uszkodzona lub clamd nie uruchamia się
Błędy takie jak nieprawidłowo sformatowana baza danych, błąd sumy kontrolnej lub nieudane załadowanie bazy danych wymagają odzyskiwania z uwzględnieniem wersji. Procedura resetowania definicji ClamAV w Zimbra ma różne instrukcje dla różnych generacji ZCS, w tym dla różnych ścieżek binarnych FreshClam. Przed przeniesieniem lub odbudową plików bazy danych należy zapoznać się z pełną procedurą dla konkretnej wersji, którą uruchamiasz. Zachowaj kopię istniejącej bazy danych do czasu potwierdzenia odzyskania i nigdy nie stosuj poleceń ze starego podręcznika do wersji bezkrytycznie.
Nie zastępuj plików binarnych ClamAV firmy Zimbra samodzielną kompilacją upstream jako pierwszą metodą poprawy wydajności. Dokumentacja firmy Zimbra ostrzega, że zmiany w silniku poza cyklem mogą nie być obsługiwane; użyj odpowiedniej poprawki ZCS lub ścieżki aktualizacji, jeśli sam dołączony silnik wymaga aktualizacji.
Uruchom ponownie usługę antywirusową dopiero po sprawdzeniu przyczyny
Jeśli usługa nadal będzie działać nieprawidłowo po usunięciu problemu, kontrolowany restart programu antywirusowego może usunąć nieaktualny proces lub ponownie załadować naprawioną bazę danych. Zaplanuj to na czas, gdy krótka przerwa w skanowaniu będzie akceptowalna, i postępuj zgodnie z sekwencją poleceń dla swojej wersji ZCS. Dokumenty dotyczące procedury Zimbra zmantivirusctl stopi zmantivirusctl starturuchom jako zimbraużytkownik:
su - zimbra zmantivirusctl stop zmantivirusctl start zmcontrol status
Nie używaj pełnej wersji zmcontrol stopw przypadku problemu dotyczącego wyłącznie ClamAV, chyba że wymaga tego Twój plan konserwacji. Jeśli program antywirusowy nie powróci do działania, zachowaj odpowiednie logi i skorzystaj z kanału rozwiązywania problemów lub pomocy technicznej Zimbra dla konkretnej wersji, zamiast powtarzać cykliczne restarty.
Udokumentowane polecenia usługi antywirusowej i kontrola statusu pojawiają się w wierszu poleceń użytkownika Zimbra.
5. Sprawdź, czy użycie procesora i skanowanie poczty wróciło do normy
Po korekcie lub ponownym uruchomieniu, powtórz sprawdzanie procesu i obserwuj trend procesora, zamiast polegać na jednej, natychmiastowej wartości. Upewnij się, że wartość clamdjest obecna, freshclamnie jest blokowana przez powtarzające się próby i zmcontrol statuszgłasza działanie programu antywirusowego. Przejrzyj nowe wpisy w dzienniku pod kątem pomyślnego załadowania bazy danych i braku powtarzających się błędów aktualizacji lub skanowania. Na koniec sprawdź, czy standardowe wiadomości testowe są dostarczane i obsługiwane zgodnie z polityką bezpieczeństwa poczty elektronicznej obowiązującą w Twojej organizacji.
Prawidłowe odzyskiwanie danych ma trzy obserwowalne oznaki: proces odpowiedzialny za problem nie obciąża już procesora po zakończeniu pracy; logi przestają powtarzać ten sam błąd; a przepływ poczty i stan usługi antywirusowej Zimbra pozostają w dobrym stanie. Jeśli obciążenie procesora utrzymuje się na wysokim poziomie, należy zebrać migawkę procesu ze znacznikiem czasu, odpowiadające im clamd.logwpisy freshclam.logw dzienniku poczty, wyniki dotyczące miejsca na dysku oraz wersję systemu ZCS. Takie dowody pomagają odróżnić rzeczywistą usterkę skanera od dużego wolumenu poczty lub uszkodzonej ścieżki aktualizacji, nie osłabiając skuteczności skanowania w poszukiwaniu złośliwego oprogramowania.
Uwaga dotycząca wersji: wskazówki sprawdzono 6 października 2026 r. Centrum techniczne Zimbra zawiera zarówno bieżące materiały referencyjne, jak i starsze strony rozwiązywania problemów dotyczące konkretnych wydań; sprawdź polecenia i ścieżki w dokumentacji zainstalowanej wersji ZCS.