Linux hangs when swap gets full
So I using Mandriva 2007.1, I have 1Gb of ram, and I set 2Gb Swap partition.
My problem is when I using linux for couple of hours (surfing internet and using some applications) and my swap partition gets to 90% full, applications start to not responding, then everything hangs so i have to push the power off button. ctrl+alt+backspase won't work.
And even if swap is just 20% full, it hangs when I press ctrl+alt+backspace or trying to shut it down, it sounds like hdd is busy (loading or unloading something, maybe removing swap files, idk) but after several minutes still nothing happens, just black screen with not moving mouse pointer on it.
I tried "swapoff /dev/hda4" << my swap partition, but it says invalid argument.
Do you have any ideas what is this and how to make it work properly?
Any help is appreciated.