Jusqu'à présent, j'ai rencontré trois situations à l'aide de Tomcat: d'abord, utilisez Eclipse, configurez Tomcat dans Eclipse. Deuxièmement, déployez le projet directement dans Tomcat. Troisièmement, installez Tomcat en tant que service Windows.
Dans ces trois cas, OutOfMemoryError apparaît. Ici, je dois mentionner que j'ai été tragiquement blessé par ces articles irresponsables sur Internet. J'ai essayé toutes sortes de façons de définir la mémoire, mais cela n'a tout simplement pas fonctionné. Les méthodes que j'ai mentionnées ci-dessous sont toutes testées par moi-même, et il n'y a pas de problème.
Le premier cas:
Comme indiqué dans l'image: je l'ai fait avec un cadre rouge. Parmi eux, XMS et XMX se trouvent les paramètres de la taille initiale du tas et de la taille maximale du tas de la machine virtuelle Java, qui est principalement pour résoudre les raisons causées par un espace de tas Java insuffisant. XX: PermSize et XX: MaxPermSize sont des paramètres qui augmentent la taille initiale de la zone de stockage permanente et la taille maximale de la zone de stockage permanente. Espace pour le chargement des cours, qui est lié à l'espace de génération permanente.
Le deuxième cas:
Mettez le projet compilé directement dans Tomcat et utilisez Startup.BAT pour démarrer le service Tomcat. Comme suit dans le dossier bin de Tomca:
Dans ce cas, nous devons modifier les paramètres dans Catalina.bat. Ouvrez-le. Trouvez ces deux phrases:
res devine cataNina_home si ce n'est pas défini
définir "current_dir =% cd%"
Ajoutez cette phrase à ces deux phrases et assurez-vous de: définir "java_opts = -xms512m -xmx1024m -xx: permsize = 256m -xx: maxpermSize = 512m"
Il y a beaucoup de choses similaires sur Internet, mais beaucoup d'entre elles n'ont pas été essayées.
La troisième situation:
Si votre Tomcat est enregistré en tant que service Windows et démarré dans le service, la méthode ci-dessus est invalide, car à ce moment, Tomcat Start est de lire les paramètres du registre plutôt que les paramètres du fichier de lots. ce. : Trouver Tomcat7w.exe dans le répertoire de bac de Tomcat et ouvert:
Sous les options Java: le pool de mémoire initial ci-dessous est l'initialisation de la taille de la mémoire du tas, et le pool de mémoire Maximun est la taille maximale de la mémoire du tas. Pour définir la taille du pool Perm Gen, vous devez ajouter des paramètres à l'option Java et ajouter:
-Dcatalina.base =% tomcat_home%
-Dcatalina.home =% tomcat_home%
-Djava.endorsed.DIRS =% Tomcat_Home% / Endorsed
-Djava.io.tmpdir =% tomcat_home% / temp
-Xx: permsize = 256m
-Xx: maxpermSize = 256m
-Xx: réservécodecachesize = 48m
-Duser.TimeZone = GMT + 08
(Je n'ai pas d'espaces après chaque ligne) J'ai essayé cette méthode, cela fonctionne. Vous pouvez également ajouter des paramètres directement dans le registre. Je ne présenterai pas cela, je ne l'ai pas essayé moi-même.
En fait, il n'est pas difficile de résoudre le problème de la mémoire Tomcat. Nous nous soucions de ce problème depuis longtemps auparavant. Si vous utilisez Eclipse, un message d'erreur sera imprimé dans la console. Mais nous avons installé le service Tomcat dans un service Windows, nous ne voyons donc aucune invite d'erreur. Après le début du projet, il a toujours été dans un état d'attente, ce qui était très lent, ce qui rend les gens confus. Bref, inexpérimenté.
Ce qui précède consiste à résoudre des énergies excessives en java, et j'espère que cela sera utile à l'apprentissage de tout le monde.