Sunday, October 16, 2011

Getting Process Info from iOS 5's LowMemory Diagnostic Reports

In iOS 5 (the latest version of Apple's OS for iPhones, iPads, etc), you can look at the diagnostic reports that it sends (if you have okayed this) to Apple via the "Settings" app.
The diagnostic reports are in the section:
General >> About >> Diagnostics & Usage >> Diagnostics & Usage Data

I wrote a Python script that extracts info from the LowMemory reports. It prints out the names of the processes and the amount (in MB) of memory that each was using.
Here's the script: processLowMemReport.py
(It is published under the MIT licence.)

Sample output (from my iPhone 3GS):

1PasswordPro7.230
AppleIDAuthAgent0.996
BTServer1.023
CommCenterClassi2.082
Medieval_iphone_36.859
MobileMail11.609
MobilePhone4.941
Music~iphone10.059
Pastebot4.453
Preferences3.215
SCHelper0.633
SpringBoard29.078
Tweetbot7.816
UserEventAgent1.664
absinthed.N880.531
accountsd1.043
aggregated1.137
aosnotifyd1.918
apsd0.965
awdd0.762
configd1.531
dataaccessd10.750
fairplayd.N880.633
fseventsd1.141
geod1.285
iapd1.254
imagent1.992
installd4.457
launchd0.480
locationd3.000
lockdownd1.312
mDNSResponder0.754
mediaremoted0.801
mediaserverd4.160
misd0.168
networkd0.582
notifyd0.898
powerd0.543
scrabble15.738
securityd0.848
syslogd0.445
ubd1.273
wifid1.117
yap.TV3.730