[Galaxy S I9000 Q&A, Help & Troubleshooting] plitshec:
Finding the root cause of battery drain...

There are a number of standard steps to run through to find the root cause of battery problems, assuming the drain is caused by the OS or apps and not actually due to a physically failing battery.

I have been tracking a few battery issues myself recently and this is what I have learned from doing some reading on XDA:

There are two free apps on the app market that are typically used to diagnose battery problems:

Better Battery Stats

CPU Spy

I would recommend installing both apps. The third place to look is in the battery details in the system settings...sorry I can't remember what they look like on Gingerbread because upgraded to Jelly Bean a couple months ago, though I do remember there was less information in the stock battery info on Gingerbread.

IF you are not, indeed dealing with a physically dead battery, then the root of your battery drain is most likely caused by a background process or app that is keeping the processor in a partially active state even though the screen is turned off and one would assume the phone should not be using any power.

Android OS will automatically change the running speed of the processor in the phone based on the demand of the system. If only a few background tasks are running and updating information the speed might be 200 or 400 Mhz. If the system is running full out servicing a graphic intensive game the processor will likely be running at the full 1000 MHz speed. The speed of the processor will directly effect the battery drain.

The expectation is that when we turn the display off (not power down, just put the phone to sleep) the processor should need fewer resources and slow down, tending towards a state known as "Deep Sleep". At this point the processor us using very minimal amounts of power. Any app or process that is active in the background will prevent the processor from getting to Deep Sleep. The CPU spy app will allow you to check how much time the phone runs at various speeds. Once you install it and run it, then reset the timers in the menu and turn your screen off for about 10 or 15 minutes. Then 'refresh' the timers. Normally, you should see most of the time accumulated in Deep Sleep. There are standard background tasks such as syncing with the cell tower, updating time, mail, checking alarms etc. That will engage the processor momentarily but they should be relatively short compared to the deep sleep time. In my case, an errand process was keeping my phone at 100Mhz constantly preventing deep sleep.

Once you know that something is keeping the phone awake in the background, you can use Better Battery Stats to narrow down which process or app it is the cause. This app allows you to track the individual processes that are consuming the most time and preventing 'wakelocks'. Wakelocks are essentially an app preventing the sleep state and are very well explained in this post: http://xdaforums.com/showthread.php?t=1827676

The battery info in the system settings can also be used to give clues though again, I can't remember how much detail was included in Gingerbread..

If your problem only started happening recently, then it could be a new app that you installed recently, a feature or setting you changed recently or possibly a recent update to an app that was already installed. Try to think back at any recent events that could have triggered a change in the system.

Common problem apps I have read about are:

- Facebook - seems to be bad at using lots of background processor time. (Don't run this app but reading several posts shows its a processor hog)

- Google Apps that sync - Gmail, Chrome (syncs browser history, tabs etc.), Google location stats.

The wakelocks link goes into a great deal of detail and is hugely valuable in nailing your issue down.

Good Luck, let use know via a post if you find the root cause...