8

I'm getting the alert "Phone storage space is getting low". Here is my Samsung Galaxy S running Cyanogenmod 9's space status:

Name: Cache
Path: /cache
SIZE: 17.50MB
USED: 2.47MB
FREE: 15.02MB


Name: Data
Path: /data
SIZE: 1889.83MB
USED: 576.64MB
FREE: 1313.19MB


Name: SD-card
Path: /sdcard
SIZE: 5654.56MB
USED: 2011.00MB
FREE: 3643.56MB


Name: System
Path: /system
SIZE: 250.00MB
USED: 240.23MB
FREE: 9.76MB

You'd think it's /system, but /system has been like that forever. In fact, after installing cyanogen it only had 1mb free. I actually deleted some system apps (wallpaper crap mostly) to free up a little more.

I am not asking how to get rid of the alert. I want to know which specific storage space does the alert refer to?

2
  • Please don't provide answers in questions. Instead comment on the answer that helped you or maybe even edit the answer to put the solution that worked for you at a prominent position.
    – Flow
    Oct 15, 2012 at 16:18
  • If you read carefully you will see that the original question was not HOW to solve the problem, but which space does the alert refer to, which was well answered below by you. The update was only meant to help whoever finds this question but is looking for a solution not an explanation.
    – Gaia
    Oct 15, 2012 at 17:57

2 Answers 2

7

It is usually /datadata that gets full on the Galaxy S. Interestingly this partition is not displayed in the Storage Setting Menu. The quirk is that /datadata is mounted on a special very fast flash chip that only provides 170MiB of storage space.

While this was enough in the "early days" of Android when the Galaxy S was released, it can easly become tight with modern Apps. /datadata is used to store application user data, and while many apps only place a few KiB there, some apps require to store more. Typical candidates that store around 20MiB in /datadata are Google Chrome and Google Currents.

ATM the best practice is a fix that lets you control which apps can store data on the fast chip and which are outsourced to the slower RAM. This script can also be installed with an app called datafix.

To find the apps that consume the most space use su && du -s /datadata/* |sort -gr |head. For example on my device:

shell@android:/datadata # su && du -s /datadata/* |sort -gr |head                    
39180   /datadata/com.android.chrome
20809   /datadata/com.google.android.apps.currents
16763   /datadata/com.google.earth
9431    /datadata/com.google.android.apps.plus
8938    /datadata/com.inisoft.mediaplayer.a
8270    /datadata/com.google.android.apps.maps
3015    /datadata/com.google.android.apps.docs
2160    /datadata/udk.android.reader
2096    /datadata/com.android.providers.contacts
1597    /datadata/com.fsck.k9
2
  • 1
    +1 - Excellent answer. Many HTC phones also used a /datadata partition for app data. Facebook (especially the Sense version) is another app that will use lots of space.
    – afrazier
    Oct 8, 2012 at 18:13
  • Thanks, this definitely seems to be what I need, but the "datafix" directory in /data/local did not get created for me...
    – Gaia
    Oct 10, 2012 at 22:56
1

You can eliminate /system from your list: It is mounted read-only, and (usually) never changes (except when flashin a ROM or applying an OTA).

We can also eliminate /sdcard as possible candidate, for multiple reasons: First, it still has 2 GB free space available. Second, Android devices should also work without an SD card inserted. And third, plus most directly clear: The error message says "Phone storage", not "External storage" or simply "Storage".

Which leaves us with the other two candidates (if your above list is complete).

Usually, this alert refers to /data (or /data/data, if that's a separate partition). Reason: /data is where your apps store their data, and also where apps are installed -- so here the activities take place: Installing and using apps. Don't be confused by the "relative value" (about 30% free space). It's rather the absolute value which counts (here: 1,313 MB). Considering that some devices ship with less than this available altogether (e.g. HTC Buzz), this should be sufficient free space, and thus not trigger such an alert.

Which would leave us with /cache as the most likely candidate here.

You can ensure this by deleting some caches (you can do so from Applications → Manage Applications and walking through the apps, hitting "clear cache" for each one that has caches -- or use some helper app which does this for you, like e.g. App Cache Cleaner or Easy Cache Cleaner. If this makes the error disappear, it was /cache triggering it -- otherwise it could only be /data.

5
  • Why would I get such an alert when only 30% of the space is used?!
    – Gaia
    Sep 9, 2012 at 15:33
  • The "relative" amount (in %) is not important, it's rather the "absolute size". I don't know the exact value triggering this alert; I simply used a simple "exclusion mechanism" here: As said, it cannot be /system. /sdcard is very unlikely (it still has 2GB free, and I'm not even sure if it would trigger such an alarm as the device should even work without a card inserted). Which leaves us with /data and /cache. To decide between those two, I showed you how to clear the cache: if the alert is gone with that, it was /cache then -- otherwise /data.
    – Izzy
    Sep 9, 2012 at 15:40
  • Besides, another reason against /sdcard: The error says "Phone storage", not "External storage". I will add that to my answer.
    – Izzy
    Sep 9, 2012 at 15:41
  • OK, updated my answer. Should be more clear (and exact) now.
    – Izzy
    Sep 9, 2012 at 15:50
  • And corrected it once more -- no longer confusing "free" with "used" space dooh! xD
    – Izzy
    Sep 10, 2012 at 15:08

You must log in to answer this question.

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