I have the same issue, Tried running server on 2 boxes. Both are Windows Environments.
The 1st box was a dual core 3.6 GHZ with 4GB RAM. Server ran fine for about 2 days and then we started seeing severe CPU cycling with increased TPS. I moved the server to my I7 machine with 12GB. It ran noticeably better but after about 2 hours of running the same problem began to occur.
TPS seems to get bad around the time we hit 50% capacity on RAM. It is obviously worse when people are exploring and chunk generation is high. The problem is chunks and other garbage data doesn't unload from memory quick enough and the server gets behind after a while. I have had good luck using different JVM GC flags but it hasn't solved the problem. Only made it more manageable. We are restarting on average every 4 hours now.
Zera you are the complete definition of ignorance.
Congratulations.