Obecnie działa kilka maszyn wirtualnych i serwerów „baremetal”. Java działa na wysokim poziomie - czasami ponad 400% +. Losowo serwer zawiesza się z błędem w konsoli „java - zablokowany na ponad 120 sekund” - kjournald itp.
Nie mogę uzyskać wyjścia dmesg, ponieważ z jakiegoś powodu ten błąd zapisuje tylko konsolę, do której nie mam dostępu, ponieważ jest on zdalnie hostowany. dlatego nie mogę skopiować pełnego śladu.
Zmieniłem środowisko, w którym jest włączony - nawet fizyczny serwer i nadal tak się dzieje.
Zmieniłem hung_task_timeout_secs na 0, ponieważ jest to fałszywy alarm zgodny z http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/6/html/Technical_Notes/deployment.html .
Ponadto, nierównowaga nie jest zainstalowana, może to pomoże?
jest to Ubuntu 10.04 64bit - ten sam problem z najnowszymi serwerami 2.6.38-15 i 2.6.36.
czy problemy z procesorem lub pamięcią / brak zamiany nie może spowodować tego problemu?
oto komunikat konsoli:
[58Z?Z1.5?Z840] INFUI task java:21547 blocked for more than 120 seconds.
[58Z?Z1.5?Z986] "echo 0 > /proc/sgs/kernel/hung_task_timeout_secs" disables this
message.
[58Z841.5?Z06Z] INFUI task kjournald:190 blocked for more than 120 seconds.
[58Z841.5?Z336] "echo 0 > /proc/sgs/kernel/hung_task_timeout_secs" disables this
message.
[58Z841.5?Z600] INFUI task flush-202:0:709 blocked for more than 120 seconds.
[58Z841.5?Z90?] "echo 0 > /proc/sgs/kernel/hung_task_timeout_secs" disables this
message.
[58Z841.5?3413] INFUI task java:21547 blocked for more than 120 seconds.
[58Z841.5?368Z] "echo 0 > /proc/sgs/kernel/hung_task_timeout_secs" disables this
message.
[58Z961.5?ZZ36] INFUI task kjournald:60 blocked for more than 120 seconds.
[58Z961.5?Z6Z5] "echo 0 > /proc/sgs/kernel/hung_task_timeout_secs" disables this
message.
[58Z961.5?31ZZ] INFUI task flush-202:0:709 blocked for more than 120 seconds.
[58Z961.5?3393] "echo 0 > /proc/sgs/kernel/hung_task_timeout_secs" disables this
message.
dmesg
(jeśli był zalogowany wystarczająco wcześnie), ponieważ to polecenie wypisuje bufor pierścieniowy rejestrowania jądra. Mam nadzieję, że twojasyslog
konfiguracja również gdzieś się zaloguje/var/log
, ale nie wiedziałem gdzie./var/log/dmesg
, ale może pojawić się po uruchomieniudmesg
polecenia. Plik jest tworzony podczas procesu uruchamiania i generalnie przechwytuje tylko komunikaty jądra w czasie rozruchu (które w przeciwnym razie ostatecznie przewiną się z bufora pierścienia jądra. Możesz także zainstalować / włączyćsysstat
i spojrzeć na wykorzystanie zasobów, jak tam zgłoszono. I / O / iowait, prawdopodobnie związane z zamianą (sysstat pomoże to zidentyfikować)Następnie zatwierdź zmianę za pomocą:
rozwiązał to dla mnie ....
źródło
Niedawno przeszedłem przez ten błąd w jednym z naszych klastrów produkcyjnych:
..
Po dalszej weryfikacji dzienników sar stwierdzono, że czas oczekiwania IO został zwiększony w tym samym czasie.
A po sprawdzeniu Sprzętu (Dysków Fizycznych) zobaczyłem średnie błędy i inne Błędy SCSI zalogowały się na jednym Dysku Fizycznym, który z kolei blokował IO z powodu braku zasobów do przydzielenia.
Było to spowodowane błędem sprzętowym w naszym klastrze.
Byłoby dobrze, gdybyś mógł sprawdzić plik podstawowy, a także jeśli narzędzie ipmi jest dostępne, sprawdź polecenie ipmiutil / ipmitool sel elist, aby sprawdzić problem.
Pozdrawiam, VT
źródło
Możesz przejść do interfejsu monitorowania dostawcy usług w chmurze i sprawdzić, czy nie przekroczono maksymalnych IOps określonych dla magazynu, co wyjaśniałoby, dlaczego opróżnianie pamięci podręcznej zajęło dużo czasu.
Maksymalna liczba operacji wejścia / wyjścia jest dostępna na stronie atrybutów magazynu.
źródło