2012-07-28 10 views
21

Mam mikro instancji EC2 z systemem Windows 2008 R2. Ostatnio otrzymywałem wiele alarmów wysokiego CPU, a kiedy loguję się do konsoli zarządzania AWS, widzę, że mój procesor jest praktycznie ustawiony na 100%. Jednakże, jeśli loguję się do instancji i uruchamiam menedżera zadań, mój procesor wygląda na praktycznie bezczynny. Pozostawiłem otwarty przez jakiś czas menedżera zadań i wykonałem zrzut ekranu pokazujący różnice między raportowaniem AWS i wyglądem mojej instancji. Propozycje?AWS EC2 Wysokie alarmy CPU wychodzące

CPU Usage Graph (https://s3.amazonaws.com/caskerdbbucket/public/cpu.png)

PS: prędkość aktualizacja menedżera zadań jest ustawiony na „Low”

+0

Widzę to samo na instancji t1.micro linux. – Molomby

+0

Po wydaniu t2 wystąpienie to prawdopodobnie zniknęło, ponieważ mamy większą widoczność, kiedy możemy być dławieni. –

Odpowiedz

34

Dane odsłonięte przez system operacyjny jest często niewystarczające lub mylące w zwirtualizowanych środowiskach, takich jak Amazon EC2 i zgłaszany procent zależy od typu instancji i podstawowego wykorzystania rdzenia procesora (który zazwyczaj nie pasuje do wirtualnego sprzętu, który jest prezentowany z hiperwizora), między innymi - to, co widzisz, najprawdopodobniej spowodowane jest odpowiednim kradzieżą CPU czas jak to jest obecnie dostępne w większości pokrewnych narzędzi do monitorowania Unix/Linux (ale nie w Windows, niestety zobacz moje pytanie Is there a Windows equivalent of Unix 'CPU steal time'?, aby dowiedzieć się więcej na temat tego problemu) - zobacz np. Kolumny% kradzieży lub st w sar lub top:

st - Steal Czas
ilość CPU 'skradziony' z tej maszynie wirtualnej przez hypervisor do innych zadań (takich jak uruchomiony kolejny wirtualny maszyna).

Blog po EC2 monitoring: the case of stolen CPU zapewnia piękny poszukiwania i ilustrację tego tematu:

Kiedy górna polecenie wyświetla 40% CPU zajęty ale CloudWatch mówi serwer jest maxed na 100% - po której stronie czy bierzesz? Odpowiedź jest prosta (CloudWatch jest poprawna, top nie jest) [...]

CPU ukraść czas jest szczególnie powszechne dla danego typu instancji EC2 t1.micro używasz, które mogą dostać mocno Throttled definicji (zwykle ~ 97% kradną czas!), patrz Micro Instances dla obszernego wyjaśnienia i zilustrowania koncepcji - a konkretnie rozdział When the Instance Uses Its Allotted Resources stany:

oczekujemy aplikacji zużywają tylko pewną ilość CPU zasobów w pewnym okresie czasu. Jeśli aplikacja zużywa więcej niż zasobów procesora przydzielonych przez instancję, tymczasowo ograniczamy instancję , dzięki czemu działa ona na niskim poziomie procesora. Jeśli instancja kontynuuje , aby użyć wszystkich przydzielonych zasobów, jej wydajność ulegnie pogorszeniu. Mamy zwiększy czas, w którym ograniczamy jego poziom CPU, zwiększając tym samym czas, zanim instancja może ponownie rozerwać się.[podkr]

związku z tym, można przerosły zrównoważony profil użycia procesora dla mikro przypadkach i albo trzeba dostosować swoją pracą lub przełączyć się na inny typ instancji.

+0

Doskonała odpowiedź. Na marginesie, moje wystąpienie wydaje się być teraz normalne. –

2

Miałem ten sam problem i zajęło dużo czasu, aby znaleźć rozwiązanie. W Internecie nie znalazłem mojej sprawy, więc udostępniam.

Odkryłem na liście zdarzeń, które zostały zarejestrowane wiele fałszywych prób logowania. Menedżer zadań w tej sytuacji zgłosił 30-40% zużycia procesora (Cloud Watch 100%) i na liście procesów były widoczne niektóre winlogon.exe. Po zmianie portu pulpitu zdalnego (domyślnie 3389) nie miałem żadnych problemów. Teraz użycie procesora w Cloud Watch jest kosztowne 34-35%.

Mam nadzieję, że to pomoże.

Powiązane problemy