desempenho do emulador Android no linux

2

Instalei o plug-in android SDK e eclipse no meu laptop, mas fiquei surpreso ao descobrir que o emulador consome 100% de um dos meus núcleos de cpu. Eu tenho exatamente a mesma configuração em uma máquina desktop que não tem esse problema. Ambos os computadores estão executando o arch linux e ambos foram atualizados ontem.

Admito que a área de trabalho tem um hardware melhor que o laptop, mas eu esperava ficar mais perto de 50% do uso da CPU do que de 100% no laptop.

Ambos os dispositivos virtuais Android têm as mesmas especificações:

CPU: ARM
Target: Android 2.3.3 - API Level 10
Skin: WVGA800
SD Card: 512M
hw.lcd.density: 240
vm.heapSize: 24
hw.ramSize: 256

O computador portátil tem uma CPU Intel Core 2 T7200 @ 2GHz com 2Gb de RAM.
O host de desktop possui processador AMD Phenom II X4 940 @ 3GHz com 8 GB de RAM.

O emulador android usa apenas 1 núcleo e aqui estão os resultados de uso da CPU:
Laptop:

Cpu0  : 22.8%us, 76.5%sy,  0.0%ni,  0.3%id,  0.0%wa,  0.0%hi,  0.3%si,  0.0%st
Cpu1  : 11.2%us,  2.4%sy,  0.0%ni, 86.4%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   2055484k total,  1860304k used,   195180k free,     5276k buffers
Swap:  2000088k total,   106872k used,  1893216k free,   350780k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                                                                                       
 2026 xyz       20   0  396m 207m 7192 R  100 10.3   4:11.58 emulator-arm    

Desktop:

Cpu0  :  0.7%us,  0.0%sy,  0.0%ni, 99.3%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu1  :  1.3%us,  0.0%sy,  0.0%ni, 98.7%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu2  :  5.0%us,  1.3%sy,  0.0%ni, 91.9%id,  1.7%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu3  :  0.3%us,  0.3%sy,  0.0%ni, 99.3%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   7666324k total,  6506808k used,  1159516k free,  1650960k buffers
Swap:  8988348k total,        0k used,  8988348k free,  2867300k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                            
 2811 xyz       20   0  392m 220m 6276 S    8  2.9   0:33.58 emulator-arm     

Existe alguma maneira de melhorar o desempenho do emulador no laptop?

[UPDATE] Eu corri o emulador com as mesmas configurações, no mesmo laptop no Win7 e depois de iniciar, ele não usa 100% de um núcleo de CPU ao contrário do Linux. Além disso, tentei executar o emulador a partir de um terminal no Linux e recebo esta mensagem quando não o obtenho no host Linux de desktop:

Could not configure '/dev/hpet' to have a 1024Hz timer. This is not a fatal error, but for better emulation accuracy type: 'echo 1024 > /proc/sys/dev/hpet/max-user-freq' as root.

Eu não estou familiarizado com o rtc ou hpet, mas não parece que a configuração max-user-freq faz alguma coisa, eu ainda recebo o mesmo aviso.

    
por Rado 13.02.2012 / 04:39

2 respostas

1

Seu processador AMD supera a Intel mais do que você pensa, provavelmente. Você pode tentar emular um tamanho de exibição menor ao executar no laptop, ou pode considerar a possibilidade de executar o emulador remotamente em sua área de trabalho, usando NX ou semelhante.

Também existem portas x86 do Android que supostamente rodam muito mais rápido (já que elas são executadas em uma máquina virtual, em vez de serem emuladas), mas eu não tenho nenhuma experiência em usá-las.

    
por 13.02.2012 / 07:50
1

Existem muitas maneiras de aumentar o desempenho do emulador do Android. A primeira e mais fácil maneira é aumentar a RAM e também ativar o snapshot

Vocêtambémpodetentardiminuiraresoluçãoquandonãoestiverfazendoalgonãorelacionadoàaltaresolução.

MasométodomaiseficazébaixaraimagemdoIntelx86.SeasuaCPUsuportarVirtualização(VT),instaleo Intel HAXM também , o desempenho seria aumentado muito mais.

Vocêtambémpodetentaro android x86 (tutorial aqui ) na máquina virtual e use o comando adb connect IP como depurar em um dispositivo real através de wifi.

    
por 01.08.2013 / 15:05