Ho accesso a una macchina su cui posso ssh. Come determinare se il mio sistema operativo è in esecuzione completamente virtualizzato (dove VMM esegue la traduzione binaria), ambiente paravirtualizzato o non virtualizzato? Ho qualche idea su come procedere (alcune operazioni come l'accesso a una pagina di memoria/disco richiederanno più tempo in un ambiente virtualizzato) ma non so come procedere.Come scoprire se il mio sistema operativo è in esecuzione su un ambiente virtualizzato o non virtualizzato?
risposta
Dipende dal VMM su cui si sta eseguendo. Se si tratta di Xen o Microsoft VM, credo che CPUID
con valore EAX
di 0x40000000 fornirà un valore diverso da zero in EAX
. Non sono sicuro che funzioni su VMWare, VirtualBox o KVM. Prevedo che funzionerà anche lì ...
Misurare i tempi di accesso è improbabile che SEMPRE mostri la verità, poiché in un sistema non VM questi possono variare parecchio, e non c'è alcun VERO motivo per cui vedresti un'enorme differenza in un'implementazione efficiente. E, naturalmente, non si sa se la VM è in esecuzione con un controller del disco rigido REAL passato attraverso il PCI, o se i dischi montati su NFS sono collegati tramite una scheda di rete REAL passata alla VM, o se sono accesso tramite una scheda di rete virtuale.
Un buon VMM non dovrebbe mostrare molta differenza fintanto che l'applicazione si comporta da sola.
- 1. scorrimento in virtualizzato WPF TreeView è molto instabile
- 2. Come creare una 'sandbox' con un registro virtualizzato per un'applicazione?
- 3. Come rilevare il sistema operativo in esecuzione?
- 4. Java: Come scoprire se il percorso è assoluto indipendentemente dal sistema operativo
- 5. Come scoprire se un processo è in esecuzione in C?
- 6. Scoprire se l'attività Android è in esecuzione
- 7. Come ottenere il sistema operativo su cui è in esecuzione PHP?
- 8. Come determinare il sistema operativo
- 9. Identificazione Se il sistema operativo è (aperto) SUSE in Python?
- 10. Come posso verificare se il sistema operativo è Sun Os o Unix o Solaris da basec
- 11. Rilevare se un'applicazione .NET è in esecuzione in Azure o in un ambiente non Azure
- 12. Come rendere l'immagine docker del sistema operativo host su cui è in esecuzione la finestra mobile?
- 13. Come sapere su quale sistema operativo Mac è in esecuzione l'app?
- 14. Come può il mio programma determinare se è in esecuzione su Windows a 32 o 64 bit?
- 15. Esecuzione di un'applicazione AnyCPU come 32-bit su un sistema operativo a 64 bit
- 16. Come un'applicazione meteorica sa se è in esecuzione su ambiente di sviluppo, test o produzione?
- 17. Linux - Trova se il processo è pronto o in esecuzione
- 18. Come scoprire se un hosting condiviso è in esecuzione a 32 o 64 bit - con php
- 19. In estensione asm in stile GCC, è possibile generare un valore booleano "virtualizzato", ad es. la bandiera del carry?
- 20. Come testare l'affidabilità del mio (piccolo) sistema operativo incorporato?
- 21. Come posso scoprire se un programma è in esecuzione da riga di comando o dal web?
- 22. Come sapere se il sistema operativo è Windows XP o superiore?
- 23. Come possiamo verificare se il sistema operativo attuale è win8 o blu
- 24. Il sistema operativo (POSIX) svuota un file mappato in memoria se il processo è SIGKILLed?
- 25. Verificare se il sistema operativo Windows funziona in modalità provvisoria
- 26. Come sapere se il tuo codice è in esecuzione su un iPhone o un iPhone3G?
- 27. In che modo OpenGl è implementato in un sistema operativo?
- 28. Come può il mio programma rilevare se è in esecuzione su un particolare dominio?
- 29. Sistema operativo in Ada
- 30. Porting NewLib per il mio sistema operativo: alcune domande
Come si può sapere se stiamo vivendo all'interno di un universo reale o di una simulazione computerizzata? Se sta andando bene, è importante? :-) –
Un ambiente virtualizzato perfetto (o abbastanza buono) non dovrebbe essere dectable in questo modo ... –
perché puoi chiedere al fornitore di hosting. prova free -m, a volte vedrai l'intera ram del sistema. Sono felice con la mia scatola di VM. ha mostrato tutta la memoria dell'hardware 148GB – user2134226