Я установил Android SDK и плагин Eclipse на свой ноутбук, но я был удивлен, обнаружив, что эмулятор съедает 100% одного из моих ядер процессора. У меня точно такая же настройка на настольном компьютере, у которого нет этой проблемы. Оба компьютера работают под управлением Linux, и оба были обновлены вчера.
Конечно, настольный компьютер имеет лучшее аппаратное обеспечение, чем ноутбук, но я ожидал, что он приблизится к 50% использования процессора, чем к 100% на ноутбуке.
Оба виртуальных устройства Android имеют одинаковые характеристики:
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
Хост для ноутбука оснащен процессором Intel Core 2 T7200 с тактовой частотой 2 ГГц и оперативной памятью 2 ГБ.
Настольный компьютер оснащен процессором AMD Phenom II X4 940 @ 3GHz с 8 ГБ оперативной памяти.
Эмулятор Android использует только 1 ядро, и вот результаты использования процессора:
Ноутбук:
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
Рабочий стол:
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
Есть ли способ улучшить производительность эмулятора на ноутбуке?
[ОБНОВЛЕНИЕ] Я запустил эмулятор с теми же настройками, на том же ноутбуке под Win7, и после запуска он не использовал 100% ядра процессора в отличие от Linux. Кроме того, я попытался запустить эмулятор с терминала в Linux, и я получаю это сообщение, когда я не получаю его под настольным Linux-хостом:
Не удалось настроить /dev /hpet на таймер 1024 Гц. Это не фатальная ошибка, но для лучшей точности эмуляции введите: 'echo 1024> /proc /sys /dev /hpet /max-user-freq' от имени пользователя root.
Я не очень знаком с rtc или hpet, но не похоже, что настройка max-user-freq что-то делает, я все равно получаю то же предупреждение.