Je me demande comment puis-je réconcilier l'erreur suivante? P>
jvm ne peut pas utiliser la mémoire de grande page car elle n'en a pas assez Privilège de verrouiller les pages en mémoire p> blockQuote>
Les paramètres sont: p>
SET JAVA_OPTS = -XMS20G -XMX20G -XX: + USECONCMARKSWEEPGC -XX: + USEPARNEWGC -Xx: + uselargepages -duser.timezone = "GMT"% DEBUG% P> blockQuote>
Ceci s'est produit sur Windows Server 2003. P>
3 Réponses :
Googling sur l'erreur mène au hotspot / src /os/win32/vm/os_win32.cpp Fichier source à OpenJDK-6 Wich contient le commentaire suivant:
// Windows large page support is available on Windows 2003. In order to use // large page memory, the administrator must first assign additional privilege // to the user: // + select Control Panel -> Administrative Tools -> Local Security Policy // + select Local Policies -> User Rights Assignment // + double click "Lock pages in memory", add users and/or groups // + reboot // Note the above steps are needed for administrator as well, as administrators // by default do not have the privilege to lock pages in memory. // // Note about Windows 2003: although the API supports committing large page // memory on a page-by-page basis and VirtualAlloc() returns success under this // scenario, I found through experiment it only uses large page if the entire // memory region is reserved and committed in a single VirtualAlloc() call. // This makes Windows large page support more or less like Solaris ISM, in // that the entire heap must be committed upfront. This probably will change // in the future, if so the code below needs to be revisited.
docs.microsoft.com/en-us/sql/database-engine/configure-windo ws / ... - S'applique à Windows Server 2016 et Windows 10 (utilise GPEDIT. MSC)
Seul Windows Server 2003 prend en charge la mémoire de la grande page. Afin de l'utiliser, l'administrateur doit d'abord attribuer un privilège supplémentaire à l'utilisateur qui exécutera l'application: 1. Sélectionnez Panneau de configuration -> Outils d'administration -> Politique de sécurité locale 2. Sélectionnez les stratégies locales -> Affectation des droits des utilisateurs 3. Double-cliquez sur "Verrouiller les pages en mémoire", ajoutez des utilisateurs et / ou des groupes 4. Redémarrez la machine p>
Java.sun.com/javase/technologies/hotspot/largememorory.jsp Seul Windows Server 2003 prend en charge celui entre la famille Windows. Solaris et Linux les soutiennent aussi.
Comment la grande mémoire bénéficie-t-elle d'une JVM? Pourquoi est-il important de verrouiller un processus dans la mémoire physique?
J'ai fait face à ce que seules les configurations définies ci-dessous ne suffisent pas: p>
Windows Large Page Support est disponible sous Windows 2003. Pour utiliser
Grande mémoire de page, l'administrateur doit d'abord attribuer un privilège supplémentaire
à l'utilisateur:
p>
- Sélectionnez Panneau de configuration -> Outils d'administration -> Politique de sécurité locale
LI>- Sélectionner des stratégies locales -> Affectation des droits des utilisateurs
LI>- Double-cliquez sur "Verrouiller les pages en mémoire", ajoutez des utilisateurs et / ou des groupes
LI>- Redémarrez
LI> ul> blockQuote>Remarque Les étapes ci-dessus sont nécessaires pour l'administrateur également, en tant qu'administrateurs
Par défaut, ne disposez pas du privilège de verrouiller les pages en mémoire.
p> blockQuote>Le programme qui appellera l'interpréteur Java (Java programme.java em>) doit être appelé avec des rulles administratives. Exemple: Eclipse, NetBeans, CMD, etc. Dans Windows Fabriqué après 2003, vous devez effectuer des paramètres ci-dessus, et après que vous puissiez cliquer avec le bouton droit pour ouvrir le menu et choisir "Exécuter en tant qu'adnistrator" Strong> sur l'icône ou programme d'appelant exécutable. p>
Cela se passe sur Windows 2003