[Desire General] Coder_ak:
Most proper way to know your free memory is Console. Connect phone, type adb shell and:

# mount
/dev/block/mtdblock3 /system yaffs2 ro,relatime 0 0
/dev/block/mtdblock5 /data yaffs2 rw,nosuid,nodev,relatime 0 0
/dev/block/mtdblock4 /cache yaffs2 rw,nosuid,nodev,relatime 0 0
/dev/block/vold/179:1 /mnt/sdcard vfat rw,dirsync,nosuid,nodev,noexec,relatime,uid=1000,gid=1015,fmask=0702,dmask=0702,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
/dev/block/vold/179:1 /mnt/secure/asec vfat rw,dirsync,nosuid,nodev,noexec,relatime,uid=1000,gid=1015,fmask=0702,dmask=0702,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
tmpfs /mnt/sdcard/.android_secure tmpfs ro,relatime,size=0k,mode=000 0 0
/dev/block/dm-0 /mnt/asec/com.rovio.angrybirdsseasons-1 vfat ro,dirsync,nosuid,nodev,relatime,uid=1000,fmask=0222,dmask=0222,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0

/system - read only (s-off rules!) file system for your system files

/data and /cache rw partitions for application and data storage

next is SD-Card mount point

/mnt/secure - is hidden folders on SD-Card for storing data for native a2sd Android. You can see last line - it's Angry birds moved to SD mounted as independent partition. Don't move any apps to SD-card if you have custom a2sd+ script configured.

# df
Filesystem Size Used Free Blksize
/dev 203M 44K 203M 4096
/mnt/asec 203M 0K 203M 4096
/mnt/obb 203M 0K 203M 4096
/system 140M 126M 13M 4096
/data 272M 56M 215M 4096
/cache 25M 10M 14M 4096
/sd-ext 457M 189M 267M 1024
/mnt/sdcard 3G 2G 859M 4096
/mnt/secure/asec 3G 2G 859M 4096

Now sizes (i have custom partitions size, so your sizes will differ)

/data - where you install all apps.

/sd-ext - a2sd+ storage (on SD-Card)

And to check is a2sd word proper:

# ls -l data/
lrwxrwxrwx root root 2011-02-22 16:54 app-private -> /sd-ext/app-private
lrwxrwxrwx root root 2011-02-22 16:54 app -> /sd-ext/app
lrwxrwxrwx root root 2011-02-22 16:54 dalvik-cache -> /sd-ext/dalvik-cache
-rw-r--r-- root root 8447 2011-02-22 16:55 dta2sd.log
-rw-r--r-- root root 8447 2011-02-22 16:54 dta2sd.lg1
-rw-r--r-- root root 8576 2011-02-22 16:54 dta2sd.lg2
drwx------ system system 2011-02-22 16:55 backup
-rw-rw-rw- root root 376 2011-02-21 17:30 dtinstall.log
drwx------ system system 2011-02-21 17:32 secure
drwxrwxr-x system system 2011-02-23 15:08 system
drwxr-xr-x root root 2008-08-01 15:00 xbin
drwxr-xr-x root root 2011-02-21 17:32 local
drwxr-xr-x root root 2008-08-01 15:00 jit
drwxr-xr-x root root 2011-02-23 14:05 data
drwx------ root root 2011-02-22 16:54 property
-rw-r--r-- root root 1978 2008-08-01 15:00 changelog.txt
drwxrwx--- root root 2011-02-21 17:32 lost+found
drwxrwx--t system misc 2011-02-23 13:14 misc
drwxr-x--- root log 2011-02-21 17:32 dontpanic

you see "->" is symlink to SD-card. So any app you installed in internal memory of your phone actually goes to SD. But, there is on folder - data, which not moved to card with a2sd. Cause some restrictions or smth like this.

in /data/data/ app store their libraries etc. Now check which soft use storage:

# cd data/data
# du -shd1
3.0M	./com.adobe.reader
80.0K	./com.mhuang.overclocking
54.5K	./kz.mek.DialerOne
4.0K	./jp.r246.twiccaplugins.twitpic
17.5K	./com.anddoes.fancywidget
9.0K	./org.swiftp
.....
2.5K	./com.rerware.android.MyBackupRoot
15.0K	./ccc71.bmw
45.6M	.

So total folder use 45.6MB of internal storage. all other is free for use. There another folders in data, but it not so heavy.

Stock Desire, according to alpharev, has - Bravo Sense: /system:180M /cache:40M /data:217M.

Main goal of using custom a2sd+ is that you install all apps in internal memory as your phone thinks. And all widgets work well. With stock a2sd you can't move apps with widgets to sd-card or it stop working.