The 14336mb for MaxPermSize is too big, if the machine has 16GB, you can roughly allocate the following. You also should leave some 20% to the operating system.
12GB for -XX:MaxSize
1GB for MaxPermSize
If the server regularly keeps consuming memory and needs frequent restarts, there is some code not releasing memory or consuming too much, this deserves some investigation, for example:
- memory dumps
- code profiling in a developer machine
- application performance monitoring
Understand that JVM tuning and code profiling involve a good time investigating where is the problem.