Bandwidth limiting incoming traffic on a firewall is difficult because you either have to drop all the unwanted packets - resulting in a resend and more traffic, or have the firewall maintain a delivery queue much larger than its normal connection tracking.
However given that "protecting" the server is more important than traffic shaping you can look at the iptables limit module to limit the number of connections and packets per minute;
iptables -A INPUT -p TCP -m state -state NEW \
-m limit -limit 10/minute -limit-burst 2 -j ACCEPT
Bear in mind that the upshot of all this is usually locking yourself out of the server, or annoying the shit out of everyone.
You might be better off opening another question to trouble shoot the problem causing the crash rather than spending time working out traffic shaping...