J'ai déployé une application Web sur un serveur. J'ai créé un script afin d'effectuer une charge sur l'application (test de stress). Le stress a généré différentes demandes en utilisant 10 threads. Je suis arrivé dans l'état suivant comme indiqué dans le gestionnaire de tomcat:Threads Tomcat Ready
Mémoire libre: 34.57 Mo Mémoire totale: 1166,43 MB mémoire Max: 1166.43 MB
fils Max: 200 le nombre de fil actuel: 59 thread courant occupé : 12 durée maximale de traitement: 60295419 ms temps de traitement: le nombre de requêtes de 1.8809264E7: 233217 nombre d'erreurs: 8100 Octets reçus: 4.11 MB Octets envoyés: 7493,59 MB
Selon ce statut 12 fils sont occupés pour l'entretien des demandes tandis que les 47 autres threads sont prêts. Il y a 34,57 Mo de mémoire disponible sur 1166,43 Mo initialement allouée. Je soupçonne que tomcat ne détruit pas les threads prêts non utilisés, la mémoire n'est pas libérée mais je ne suis pas sûr. Quelqu'un a-t-il d'autres idées? Est-ce que quelqu'un sait comment expirer des threads prêts?
Merci
Merci pour votre réponse. Pensez-vous que cela réglerait les problèmes de mémoire? Je veux dire pensez-vous que comme je l'ai fait puisque les threads prêts ne sont pas libérés, aussi la mémoire ne l'est pas? –
@Clint Feher les threads eux-mêmes n'utiliseront pas trop de mémoire (sauf si vous utilisez d'énormes quantités de ThreadLocals, ce qui est peu probable). Vous devrez regarder dans d'autres parties du serveur pour trouver où la mémoire est utilisée, par ex. voir: http://stackoverflow.com/questions/185893 – krock