Quando uso comando TOP, ho potuto ottenere le seguenti informazioni:Come ottenere una maggiore precisione di "CPU%" rispetto a quella del comando TOP?
[email protected]:/ $ top -n 1
User 31%, System 10%, IOW 0%, IRQ 0%
User 346 + Nice 10 + Sys 120 + Idle 637 + IOW 6 + IRQ 0 + SIRQ 2 = 1121
PID PR CPU% S #THR VSS RSS PCY UID Name
481 1 26% S 89 762832K 81688K fg system system_server
1699 0 5% S 27 676472K 39092K fg u0_a72 wm.cs.systemmonitor
11243 0 3% S 28 673140K 29796K bg u0_a111 com.weather.Weather
13327 2 1% S 23 680472K 35844K bg u0_a83 com.rhmsoft.fm
659 0 1% S 17 663044K 33136K bg u0_a13 android.process.media
20260 1 0% R 1 1208K 508K shell top
possiamo vedere il CPU%
è rotonda a intero, c'è qualche modo ho potuto ottenere di CPU%
con maggiore precisione un processo?
- Chiarimenti sulla bontà -Alex
La domanda si riferisce a sistema Android, e preferibilmente ad un dispositivo non radicata. Mentre Android offre tecniche di profilazione avanzate per applicazioni Java, gli strumenti per il codice nativo (C++) sono limitati. Il comando superiore su Android consente di mostrare le statistiche di tutti i thread in esecuzione nel sistema, sia i thread Java che i thread C++. Sto cercando una risposta che ti possa aiutare con la seguente ricerca:
La mia app utilizza il 2% di CPU quando è inattiva in background, mentre dovrebbe essere inferiore allo 0,1%. Se eseguotop -t
, ottengo lo 0% per tutti i 15 thread che appartengono al mio processo (alcuni thread sono thread Java, ad esempio il thread Main, UI, altri sono pthread che non si collegano mai a JVM). Come posso indovinare quale thread mangia la batteria?
Sarei lieto di ottenere ulteriori dettagli su questa attività inaspettata, e Android fornisce ottimi aiutanti come TraceView per i thread Java. Qualsiasi intuizione riguardante gli strumenti per il codice nativo sarà molto apprezzata.
non farebbe molta differenza .... –
@MitchWheat: Sì, fa la differenza. Altrimenti, per favore aiutami a profilare l'applicazione che usa il 2% di CPU in background. Quando eseguo 'top -t', ottengo lo 0% per tutti i 15 thread che appartengono al mio processo. Come posso indovinare quale thread mangia la batteria? –
Non ho detto che non avrebbe fatto alcuna differenza; Ho detto "non farebbe molta differenza" –