2008-09-02 14 views

Répondre

3

la réponse de Martin est correct sur Windows Server 2003:

Vous devez attribuer le privilège "Verrouiller les pages en mémoire" à tout utilisateur qui exécute votre application. Cela inclut les administrateurs

  1. Sélectionnez Panneau de configuration -> Outils d'administration -> Stratégie de sécurité locale
  2. Sélectionnez Stratégies locales -> Droits de l'utilisateur Affectation
  3. Double cliquez sur « pages de verrouillage dans la mémoire », d'ajouter des utilisateurs et/ou groupes
  4. Redémarrez la machine

Sous Windows Vista, vous devez également vous assurer que l'application est exécutée en tant qu'administrateur (par clic droit sur l'application ou le shell et en choisissant "Exécuter en tant qu'administrateur". En outre, il est utile de disposer d'une machine fraîchement démarrée car les grandes pages peuvent être "épuisées" à cause de la fragmentation du tas.

+0

Il est possible de "manquer" mais je suis certain que j'ai vu Vista et 2008 faire beaucoup de swap sur disque quand un grand nombre de grandes pages sont demandées, donc je crois qu'ils utilisent swap pour nettoyer les fragments. –

+0

+1 pour le commentaire sur l'exécution en tant qu'administrateur! Nécessaire sur Windows 7 aussi. –

1

Vous devrez attribuer le privilège Lock pages in memory à n'importe quel utilisateur qui exécute votre application. Cela inclut les administrateurs.

  1. contrôle Sélectionnez Panel -> Outils d'administration -> Sécurité locale Politique
  2. Sélectionnez locales Politiques -> Attribution des droits utilisateur
  3. Double cliquez sur "pages de verrouillage dans la mémoire", d'ajouter des utilisateurs et/ou groupes
  4. Redémarrez la machine