4

I have an older Droid Incredible running Cyanogenmod 7.2. Recently, I've noticed some sluggishness on the phone that doesn't seem limited to a single app. The CPU Usage Plus app (which I think just runs top) often reports that the mmcqd\2 process is using up a lot of CPU (sometimes 50-60%). Googling around, it seems that this process is somehow related to SD card access.

Is there any way for me to diagnose in more detail what exactly is causing this process to use so much CPU, e.g., by seeing what other process is accessing the SD card? Could re-formatting the SD card help? Or could CPU Usage Plus be leading me astray? I have some apps installed on the SD card, and I could try moving them all back to the phone, but it would be nice to figure out a more detailed diagnosis before trying random solutions.

2
  • Do you happen to be running A2SD on your phone? I had a similar experience on my HTC Desire some time ago, and it was due to having moved both app-data and Dalvik cache to sd-ext. I tried different configurations and moving app-data back to where it was seem to give the best performance for me. There are sources that say otherwise though: android.stackexchange.com/questions/20255/…
    – Void
    Dec 20, 2012 at 7:08
  • Hey, not running A2SD; I'm pretty sure both Dalvik cache and app-data are on internal storage. I ended up formatting my SD card (after a backup), and things seem to be happier now (I don't have any apps on my SD card now). But, I'm still hoping someone will know a more principled way to diagnose the exact problem.
    – msridhar
    Dec 21, 2012 at 17:56

3 Answers 3

2

Yes, when you see mmcqd on the top-3 processes most of the time you can assure there is a bottleneck created on any storage/flash. You can check that fact easily at the developer options in Android (how to get it), by enabling view CPU usage, the blue color represents I/O operations (more info).

My scenario was more general than the one of the original question: the tablet was already cleared factory-reset, no new apps at-all except chrome and netflix, even re-flashed the stock image but it still was desperately laggy (FYI - Nexus 7 model 2012 with 5.1.1). This is specially true when connected to WiFi or CellData, so before proceeding it's better to enable plane mode for a faster operation.

I found the following fixes to be sufficient:

  1. [optional but recommended] IF you are root OR have custom recovery (any), you can manually trim the storage for a boost of performance (how to). This is specially true since the last time it was used years ago apparently worked well but apps or reflash might have filled space without a chance to trim (more info).
  2. [optional but recommended] The newer versions of the Google Play store include more services and functions (even API and sync), which I found specially heavy for those older flash storage. Uninstall unused new Google Play items (such as music, books, news, films) and then go ahead to the sync menu and disable most of the items (how to). You will surely find there an item in error, but anyway it's better to clear most of them. All these are background I/O (instead of foreground I/O) lagging your device as soon as you connect to network (WiFi/cell).
  3. [optional but recommended] On the above mentioned developer options menu, scroll down at the bottom to find limit background process and select no process for a radical approach. That will eliminate background apps I/O adding up.

These general actions totally solved the I/O issue of the old Android (constant mmcqd). However obviously it is not perfect and there might still be other additional problems, because still modern apps take a small lag to react (for CPU and disk read), and first-boot-up of the system needs some patience (all this is expected). Newer apps and google services do expect newer devices speed.

1

So I seem to have addressed this issue, but basically by trial and error. I tried formatting the SD card, but that didn't fix the problem. Finally, I gave up and re-flashed the phone with a full wipe, and then re-installed my apps one by one. Eventually, I found that the Amazon Appstore app was a cause of the problem. Without Amazon Appstore, my phone is much snappier, and I haven't seen mmcqd popping up in CPU usage. (I haven't re-installed every single app I had before, so there could have been other troublemakers.) So, problem fixed for now, but I would hope there is a better way to figure out these types of issues.

0

One way of diagnosing the offending CPU hog application is to open your application manager while your CPU Usage bars are overlayed. One by one open each potential suspect (Start with your list of downloaded apps from the app store) and select 'Force Stop' while watching the CPU usage bar. If you get a significant drop then you have found the (or one of the) problems. Remove that app. Note that i could be an app that you have had installed for a long time and so you 'trust' it, however a recent update may have changed its usage profile (sending constant checks/polling/whatever to check for status/notifications/updates/etc from whatever site the app is associated with is a typical app abuse symptom.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .