O problema é que sua solicitação não está bem definida. Você diz que quer monitorar "quanta carga ele coloca no servidor", mas isso não é uma coisa simples. Programas podem causar carga de i / o, carga de cpu, carga de rede, memória 'load' (ie, falta de memória), até mesmo interrupção de carga (se eles interagem com hardware), mas todas essas coisas são agregadas para eficiência pelo kernel .
Por exemplo, se o seu processo usa uma biblioteca compartilhada que outro programa está usando, com qual programa ele conta? E se ele usa uma biblioteca compartilhada que não está sendo usada (e, portanto, não está carregada)? Se dois processos solicitarem simultaneamente para carregar uma biblioteca compartilhada, qual deles o i / o do disco será carregado? E se esses blocos de disco estivessem no cache de leitura antecipada porque um processo completamente não relacionado aconteceu para ler um arquivo que estava "próximo" no disco? Um sistema operacional é um sistema operacional ... assim, evidencia interações complexas que não permitem necessariamente que partes individuais sejam analisadas separadamente.
Algumas coisas lhe darão boas informações:
-
top mostrará uma lista de classificação com base em algumas métricas, embora leia a página de manual com cuidado para como coisas como contabilidade de memória são feitas.
-
/ proc / é uma visualização mediada pelo kernel do seu processo, incluindo quais manipuladores de arquivos foram abertos, qual memória foi mapeada, todos os tipos de coisas. Veja a página de manual para informações detalhadas.
-
strace rastreará as chamadas do sistema que um programa faz para que você possa dizer, pelo menos até certo ponto, o que está fazendo. Novamente, a página do manual contém informações detalhadas.