Question: I have an ubuntu vps running that has about 300MB of memory, of which only 20% or less is free right now ...  

My question is, how can I figure out what particular program I'm running that is causing it to swap so much?

Answer: 
start with running 

```
top

```

and pressing M [ shift+m ]. 

you will get process list sorted by mem consumption.
Another option is `htop`, which has better output in some cases.