Configuração Java/Tomcat

Pessoal, fiz a configuração do Java e Tomcat conforme abaixo, mas minha aplicação não fica performática, além disso, o processamento sempre bem alto e a memória sempre chegando em 100%.

Será que estou fazendo algo errado nessa configuração ?

Menu servido é uma VPS com configuração abaixo:
PROCESSAMENTO: 12 cores de 1.6 GHz

MEMÓRIA: 64 GB de RAM
DISCO: 300 GB - DISCO SSD RAID 10
BANDA: 30.000GB de TRÁFEGO
LINK: 100 Mbps Garantidos
LINK COMPARTILHADO: 1Gbps

Configuração do CATALINA:

export JAVA_OPTS="
-server -d64
-Xss1024k
-XX:PermSize=2048M
-XX:MaxPermSize=2048M
-Xms40G
-Xmn7G
-Xmx40G
-XX:+ExplicitGCInvokesConcurrent
-XX:-DisableExplicitGC
-XX:+UseConcMarkSweepGC
-XX:+CMSIncrementalMode
-XX:+CMSIncrementalPacing
-XX:+AlwaysTenure
-XX:+UseParNewGC
-XX:+CMSParallelRemarkEnabled
-XX:MaxGCPauseMillis=500
-XX:GCPauseIntervalMillis=8000
-XX:+UseAdaptiveGCBoundary
-XX:-UseGCOverheadLimit
-XX:+UseBiasedLocking
-XX:SurvivorRatio=8
-XX:TargetSurvivorRatio=90
-XX:MaxTenuringThreshold=0
-XX:+UseFastAccessorMethods
-XX:+OptimizeStringConcat
-XX:ParallelGCThreads=12
-XX:ConcGCThreads=6
-XX:+UseCodeCacheFlushing
-XX:InitialCodeCacheSize=32m
-XX:ReservedCodeCacheSize=256M
-XX:+UseTLAB
-XX:+UseStringCache
-XX:+OptimizeStringConcat
-XX:InitiatingHeapOccupancyPercent=70
-XX:+UseCMSInitiatingOccupancyOnly
-XX:CMSInitiatingOccupancyFraction=90
-XX:+CMSClassUnloadingEnabled
-XX:MaxHeapFreeRatio=70
-XX:MinHeapFreeRatio=30
-Dfile.encoding=UTF-8
-Djava.awt.headless=true"

CONFIGURAÇÃO DO SERVE.XML do Tomcat

Nesse servidor também roda o PostgreSQL.

Rapaz, pode ser algo na aplicação que está rodando nesse tomcat. Esse processamento alto acontece em qual momento? Logo ao iniciar o servidor ou depois de algum tempo usando o sistema?

O processamento alto e a memória fica em 100% depois de algum tempo de uso e depois que passa dos 100 usuários logados.