[G1 General] toeshot:
I am a little confused. I have read the links you provided, but I do not see anywhere were it says to decrease swap size. In fact after reading the articles I feel it supports my case even more. (See http://en.wikipedia.org/wiki/Thrash_(computer_science) Cause of Thrashing or even the overview)as for android killing sleeping process. that's not true either. here is an Process List of an idle G1 the S (Right Before the Process Name) stands for sleeping

# ps

USER PID PPID VSIZE RSS WCHAN PC NAME

root 1 0 292 208 c00ca8d0 0000caec S /init

root 2 0 0 0 c006c4bc 00000000 S kthreadd

root 3 2 0 0 c005bb94 00000000 S ksoftirqd/0

root 4 2 0 0 c00898bc 00000000 S watchdog/0

root 5 2 0 0 c008d1a0 00000000 S rcu_sched_grace

root 6 2 0 0 c0068620 00000000 S events/0

root 7 2 0 0 c0068620 00000000 S khelper

root 8 2 0 0 c0068620 00000000 S suspend

root 9 2 0 0 c0068620 00000000 S kblockd/0

root 10 2 0 0 c0068620 00000000 S kmmcd

root 11 2 0 0 c0068620 00000000 S btaddconn

root 12 2 0 0 c0068620 00000000 S btdelconn

root 13 2 0 0 c0068620 00000000 S kondemand/0

root 14 2 0 0 c0068620 00000000 S qmi

root 15 2 0 0 c0037830 00000000 D rpcrouter

root 16 2 0 0 c0068620 00000000 S detection/0

root 17 2 0 0 c00399f4 00000000 S krpcserversd

# ps

USER PID PPID VSIZE RSS WCHAN PC NAME

root 1 0 292 208 c00ca8d0 0000caec S /init

root 2 0 0 0 c006c4bc 00000000 S kthreadd

root 3 2 0 0 c005bb94 00000000 S ksoftirqd/0

root 4 2 0 0 c00898bc 00000000 S watchdog/0

root 5 2 0 0 c008d1a0 00000000 S rcu_sched_grace

root 6 2 0 0 c0068620 00000000 S events/0

root 7 2 0 0 c0068620 00000000 S khelper

root 8 2 0 0 c0068620 00000000 S suspend

root 9 2 0 0 c0068620 00000000 S kblockd/0

root 10 2 0 0 c0068620 00000000 S kmmcd

root 11 2 0 0 c0068620 00000000 S btaddconn

root 12 2 0 0 c0068620 00000000 S btdelconn

root 13 2 0 0 c0068620 00000000 S kondemand/0

root 14 2 0 0 c0068620 00000000 S qmi

root 15 2 0 0 c0037830 00000000 D rpcrouter

root 16 2 0 0 c0068620 00000000 S detection/0

root 17 2 0 0 c00399f4 00000000 S krpcserversd

root 18 2 0 0 c00979e0 00000000 S pdflush

root 19 2 0 0 c00979e0 00000000 S pdflush

root 20 2 0 0 c009cda8 00000000 S kswapd0

root 21 2 0 0 c0068620 00000000 S aio/0

root 24 2 0 0 c00388d0 00000000 S kadspd

root 36 2 0 0 c0068620 00000000 S panel_on/0

root 43 2 0 0 c01fb17c 00000000 S mtdblockd

root 44 2 0 0 c0201db0 00000000 S USB mass_storag

root 46 2 0 0 c0068620 00000000 S synaptics_wq

root 47 2 0 0 c0068620 00000000 S kstriped

root 48 2 0 0 c0068620 00000000 S hid_compat

root 49 2 0 0 c02ed850 00000000 S krfcommd

root 52 2 0 0 c0230fe8 00000000 S mmcqd

root 53 2 0 0 c01e5df4 00000000 S loop0

root 54 2 0 0 c01e5df4 00000000 S loop1

root 56 1 3332 156 ffffffff 0000e8f4 S /sbin/adbd

root 66 2 0 0 c014bc74 00000000 S kjournald

system 109 1 808 168 c0242cb0 afe0c45c S /system/bin/servicemanager

root 110 1 848 256 c00ca8d0 afe0c584 S /system/bin/vold

root 111 1 668 152 c02504d8 afe0cdec S /system/bin/debuggerd

radio 112 1 7896 696 ffffffff afe0cacc S /system/bin/rild

root 113 1 73092 13704 c00ca8d0 afe0c584 S zygote

media 114 1 24272 1248 ffffffff afe0c45c S /system/bin/mediaserver

bluetooth 117 1 1172 224 c00ca8d0 afe0d25c S /system/bin/dbus-daemon

root 118 1 800 192 c02cf988 afe0c1bc S /system/bin/installd

compass 120 1 3372 472 ffffffff afe0c45c S /system/bin/akmd

system 133 113 154716 23712 ffffffff afe0c45c S system_server

radio 168 113 107580 17276 ffffffff afe0d3e4 S com.android.phone

app_7 174 113 119796 20292 ffffffff afe0d3e4 S android.process.acore

app_62 208 113 99700 15032 ffffffff afe0d3e4 S com.p1.chompsms

app_1 221 113 110712 16964 ffffffff afe0d3e4 S com.google.process.gapps

app_20 234 113 98256 14464 ffffffff afe0d3e4 S android.process.media

root 267 2 0 0 c00386f0 00000000 D audmgr_rpc

app_36 310 113 95004 13496 ffffffff afe0d3e4 S com.android.alarmclock

app_21 344 113 106684 16440 ffffffff afe0d3e4 S com.htc.android.mail

root 368 1 4064 408 c00c3180 afe0c1bc S su

app_65 369 113 95608 13488 ffffffff afe0d3e4 S com.phonefusion.voicemailplus.android

app_54 418 113 95020 13692 ffffffff afe0d3e4 S org.freecoder.widgets.overclock

app_27 500 113 106180 15536 ffffffff afe0d3e4 S com.google.android.gm

app_7 561 113 98652 13564 ffffffff afe0d3e4 S com.android.inputmethod.latin

app_43 568 113 106064 15484 ffffffff afe0d3e4 S com.koushikdutta.klaxon

app_32 761 113 98412 15280 ffffffff afe0d3e4 S com.android.calendar

app_71 775 113 94428 13048 ffffffff afe0d3e4 S com.roundedlabs.widgets.gps

app_42 1058 113 94800 17008 ffffffff afe0d3e4 S com.twidroid:remote

root 1083 56 740 332 c0059630 afe0d08c S /system/bin/sh

root 1086 1083 884 340 00000000 afe0c1bc R ps

Now I don't have a swap partition active nor am I using swapper and I have 2k of free memory. If select on a 32mb for a swap partition that partition would fill quickly with the sleeping process, yes they would go to the swap partition However the swap partiton would not be completely filled to 32 meg because of the partition overhead. the memory that I freed up be partially available, meaning I would not see a full 32mb. however if I select 100mb swap partition it would not fill up, file swapping would better as there is more available space to put the sleeping programs until needed, freeing up more ram for the phone when I start to use it.

One thing to remember is that even though the android Cupcake will multi thread and multi task processes in the background it will not truly multi task applications. For example you can not open up a sms message and then open up google maps without the sms going into the background and going to sleepand if you don't have GPS on once the map is loaded it will go to sleep until you interact with it.