Je gère un serveur Dell R710 utilisé pour certains très gros calculs d'analyse par éléments finis (FEA) non linéaires. Parfois, ces exécutions prennent plus de 500 Go de mémoire allouée. Étant donné que cette machine ne dispose actuellement que de 132 Go de RAM, cette allocation de mémoire supplémentaire provient du fichier d'échange.
Le fichier d'échange est à jour sur une matrice de disques durs en rotation et provoque un énorme goulot d'étranglement. J'ai étudié la maximisation de la mémoire (288 Go) et l'ajout d'un SSD Intel 750 NVMe de 400 Go en tant que disque de fichier d'échange dédié. Cela devrait libérer une partie du goulot d'étranglement d'E / S du fichier d'échange, mais je veux m'assurer que nous ne maximisons pas le fichier d'échange et ne plantons pas une grande exécution.
À moins d'obtenir le processeur Intel 750 de 800 Go pour la taille de fichier de page maximale comprise de 864 Go (3 x 288 Go), puis-je dire à Windows d'utiliser la matrice de disques durs comme basculement pour un espace de pagination supplémentaire? Existe-t-il un moyen de prioriser le SSD en tant que principal pour le fichier d'échange? Merci.
Réponses:
Vous n'êtes pas "obligé" d'avoir un fichier d'échange sur la baie de disques durs. Vous pouvez simplement le supprimer ou le définir au minimum absolu, si vous voulez Crash Dumps (le système d'exploitation vous indiquera lorsque vous modifiez la taille individuelle du fichier d'échange sur la matrice de disque dur). En supposant que la baie est l'emplacement du système d'exploitation.
Cela forcera automatiquement les écritures sur le SSD, après avoir utilisé le fichier d'échange du lecteur de partition du système d'exploitation.
Avoir le fichier d'échange sur un tableau présente des inconvénients. Chaque écriture de page va vers un contrôleur et passe inutilement par la logique de la carte contrôleur pour déterminer sur quel (s) lecteur (s) écrire réellement cette page. Un fichier d'échange est par nature un stockage temporaire, donc il n'y a aucun avantage à avoir n'importe quel type de RAID ou de matrice (surtout si un sous-système plus rapide, c'est-à-dire SSD dans ce cas, est disponible).
Quelqu'un pourrait demander "qu'en est-il des caches volumineux trouvés sur la plupart des contrôleurs de baie?" Ceux-ci ne sont pas utiles pour le fichier d'échange, encore une fois parce que, par définition, ce qui est paginé est ce qui n'a pas été lu depuis un certain temps, il est donc peu probable que le cache soit accessible pour relire le fichier d'échange. Un SSD avec son cache de base intégré sera plus rapide qu'un cache de baie dans ce scénario.
Dans votre situation très particulière (calculs FEA), cela devient un peu délicat, si l'algorithme doit s'étendre régulièrement sur toute la mémoire allouée. Alors, le fichier d'échange est beaucoup lu. Dans ce cas, tout cache important sur un contrôleur "pourrait" aider en fonction de la séquence dans laquelle votre algorithme accède à la mémoire. Si cela provoque plus de séquences d'accès de type LIFO (dernier entré premier sorti), cela vous aidera. S'il est aléatoire, l'avantage est probablement limité. Si c'est FIFO (premier entré, premier sorti), cela fera probablement mal.
Les énonciations aléatoires de Microsoft MVP indiquent que les disques plus rapides seront favorisés comme par magie. Bien que mes observations empiriques au fil des ans montrent que le lecteur OS est préféré. Ainsi, la configuration ci-dessus répond à vos deux préoccupations.
la source