If you are using the new linux kernel (2.6.x) and remote debugging is slow, there was a change in the kernel that revealed a bug in the JDK with remote debugging. There is a fix thoug by running this command:
sudo /sbin/sysctl -w net.ipv4.tcp_abc=0
This changes the algorithm that breaks up TCP packets (if I recall correctly) and essentially makes sending a ton of tiny packets faster, which is the bug in the Java debugging architecture.