2012-07-28 22 views
21

Ho un'istanza micro EC2 che esegue Windows 2008 R2. Ultimamente ho iniziato a ricevere un elevato numero di allarmi della CPU e quando accedo alla console di gestione di AWS vedo che la mia CPU è praticamente ancorata al 100%. Tuttavia, se accedo all'istanza e seleziono il task manager, la mia CPU sembra praticamente inattiva. Ho lasciato aperto il task manager per un po 'e ho scattato questa schermata mostrando le differenze tra AWS che stava segnalando e l'aspetto della mia istanza. Suggerimenti?AWS EC2 Alti allarmi CPU in corso

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

PS: la velocità di aggiornamento su task manager è impostato su "Low"

+0

Sto vedendo la stessa cosa su un'istanza linux di t1.micro. – Molomby

+0

Con il rilascio delle istanze di t2, questo probabilmente è praticamente scomparso, poiché abbiamo una maggiore visibilità su quando potremmo essere rallentati. –

risposta

34

I dati esposti dal sistema operativo è spesso insufficienti o fuorvianti in ambienti virtuali come Amazon EC2, e la percentuale riportata dipende dal tipo di istanza e dall'utilizzo core del processore sottostante (che di solito non corrisponde all'hardware virtualizzato che viene presentato dall'hypervisor), tra le altre cose: ciò che si vede è probabilmente causato dal rispettivo furto della CPU tempo come esposto nella maggior parte degli strumenti di monitoraggio Unix/Linux al giorno d'oggi (ma non su Windows, sfortunatamente, vedi la mia domanda Is there a Windows equivalent of Unix 'CPU steal time'? per ulteriori informazioni su questo problema) - vedi ad es. colonne% rubare o St in sar o top:

st - Ruba Tempo
la quantità di CPU 'rubato' da questa macchina virtuale dal hypervisor per altre attività (come ad esempio eseguire un altro virtuale macchina).

Il post sul blog EC2 monitoring: the case of stolen CPU fornisce una bella esplorazione e illustrazione di questo tema:

Quando la parte superiore comando visualizza il 40% della CPU occupata ma CloudWatch dice il server viene raggiunto il limite massimo al 100% - da che parte prendi? La risposta è semplice (CloudWatch è corretto, non è superiore) [...]

CPU rubare tempo è particolarmente prevalente per il tipo di istanza EC2 t1.micro che si sta utilizzando, che può diventare fortemente strozzata per definizione (di solito ~ 97% rubare tempo!), vedi Micro Instances per un'ampia spiegazione e illustrazione del concetto - in particolare, sezione When the Instance Uses Its Allotted Resources stati:

Ci aspettiamo l'applicazione per consumare solo una certa quantità di CPU risorse in un periodo di tempo. Se l'applicazione consuma più di risorse della CPU assegnate all'istanza, , l'istanza viene temporaneamente limitata in modo che funzioni a un basso livello di CPU. Se l'istanza continua con per utilizzare tutte le risorse assegnate, le sue prestazioni si ridurranno a. Noi aumenteremo il tempo in cui limitiamo il suo livello di CPU, aumentando così il tempo di prima che l'istanza possa scoppiare nuovamente.[sottolineatura mia]

Di conseguenza, si potrebbe avere superato il profilo di utilizzo della CPU sostenibile per le micro e le istanze sia bisogno di regolare il carico di lavoro o passare a un altro tipo di istanza.

+0

Ottima risposta. In una nota a margine, la mia istanza sembra essere tornata alla normalità ora. –

2

Ho avuto lo stesso problema e ho impiegato molto tempo per trovare una soluzione. In internet non ho trovato il mio caso, quindi condivido.

Ho scoperto nella lista eventi che sono stati registrati molti tentativi di accesso fraudolenti. Il task manager in quella situazione stava segnalando il 30-40% dell'utilizzo della CPU (Cloud Watch 100%) e nell'elenco dei processi erano visibili alcuni winlogon.exe. Dopo aver cambiato la porta del desktop remoto (3389 è l'impostazione predefinita) non ho avuto più problemi. Ora l'utilizzo della CPU in Cloud Watch è costantemente del 34-35%.

Spero che questo aiuti.

Problemi correlati