More on iPhone firmware 2.1 slowness

September 22nd, 2008 by ktula

According to Apple, the one of the key fixes in the iPhone 2.1 Software Update is “Faster loading and searching of Contacts.”


iPhone 2.1 firmware fixes as described by Apple.

Initially after installing the 2.1 Software Update to my iPhone, Contacts did appear to load quite a bit snappier than the glacier-like 2.0/2.0.1/2.0.2 updates. But that can now be attributed to the reboot that accompanies each software update. My iPhone has not been rebooted for 3 days and 8 hours. Right now, it is taking more than 12 seconds going from the Home screen to Contacts before it becomes responsive.

ktula-s-iPhone:~ root# uptime
9:46am  up 3 days  8:23,  1 user,  load average: 0.53, 0.44, 0.32

In my limited attempt in trying to figure out what hell is going on when Contacts is launched, i opened a SSH session to my jail-broken iPhone and ran iostat to collect stats. I tried to run vmstat initially but it did not appear that vmstat was available on the iPhone. The version of iostat on the iPhone actually displays a portion of information that would normally come from vmstat.

ktula-s-iPhone:~ root# iostat 1
          disk0       cpu     load average
    KB/t tps MB/s  us sy id   1m   5m   15m
   14.43   0  0.01   3  2 95  0.44 0.41 0.30
    0.00   0  0.00   0  0 100  0.44 0.41 0.30
    0.00   0  0.00   1  1 98  0.44 0.41 0.30
(Contacts being launched from this point on)
   22.57  13  0.30  22 23 54  0.44 0.41 0.30
   22.17  80  1.72  17 59 24  0.48 0.42 0.31
   21.40 122  2.55  21 55 24  0.48 0.42 0.31
   20.30 119  2.35  14 54 32  0.48 0.42 0.31
   17.41 134  2.28  22 53 25  0.48 0.42 0.31
   14.44 135  1.91  19 50 31  0.48 0.42 0.31
   11.36 155  1.71  27 61 12  0.44 0.42 0.30
   10.54 151  1.55  21 60 20  0.44 0.42 0.30
   23.39 110  2.52  17 50 34  0.44 0.42 0.30
   20.42 104  2.07  25 47 28  0.44 0.42 0.30
   17.10 101  1.68  49 33 19  0.44 0.42 0.30
   16.32  74  1.18  33 38 28  0.57 0.44 0.31
   12.31  13  0.15  54 28 18  0.57 0.44 0.31
(Contacts became responsive)
    0.00   0  0.00  48 25 27  0.57 0.44 0.31

When Contacts was being loaded, the idle CPU - the percentage of CPU utilization that is doing nothing shown under the “id” column - went from almost completely idle to an average of 31%. That means the CPU was busy 69% of the time while Contacts was being launched.

To look at what processes were taking the bulk of CPU while Contacts was being loaded, i looked at the process table by issuing the command “ps aux”. The process table indicated that the mobileaddressbook process was taking 46.6% of CPU.

These numbers seem normal to me. They don’t really explain to why Contacts is taking so long to load other than it appears to take quite a bit of processing power during the launch.

Related posts


0 Responses to “More on iPhone firmware 2.1 slowness”

  1. No Comments

Leave a Response

Yes, I would like to receive notification on incoming comments!

*
To prove you're a person (not a spam script), type the security word shown in the picture. Click on the picture to hear an audio file of the word.
Click to hear an audio file of the anti-spam word