Temos um servidor RHEL 5, com 16 núcleos de CPU, que executa vários processos Java que recebem trabalhos em lote submetidos a eles. Cada processo java tem cerca de 80 encadeamentos que são usados para processar esses trabalhos. O servidor está atualmente sobrecarregado durante o processamento em lote, com médias de carga entre 50 e 60. Observei as CPUs executando até 60k comutadores de contexto por segundo.
Suspeito que a redução do número de encadeamentos java diminuiria o número de opções de contexto e aceleraria o processamento.
Eu sou o sysadmin e só tenho acesso ao SO, e não ao código que está sendo executado.
Como, de uma perspectiva do sistema operacional, posso reunir evidências de que esse pode ser o caso? É possível quantificar os atrasos causados por esses threads de espera?
Tags performance java rhel