Quelles options de RAM dois-je savoir avant d'acheter de la RAM de serveur?

18

Il s'agit d'une question canonique proposée sur la mémoire du serveur.

Je dois acheter un serveur Dell R420 et il existe différentes combinaisons (RDIMMS et UDIMMS 1600 et 1333 MHz) et des performances optimisées vs ECC avancé avec et sans épargner. J'ai remarqué qu'il n'y a que 4 Go de DIMM avec UDIMM, donc je vais devoir passer à 16 Go de RDIMMS.

Quelles sont ces options et que dois-je savoir à leur sujet?

Stasik
la source

Réponses:

25

La RAM pour les serveurs est livrée avec quelques mesures courantes pour spécifier sa capacité et sa capacité à fonctionner dans une configuration particulière. Pour aider à confondre cela, il existe différents noms pour ce qui est essentiellement la même chose, et le nom "standard" change en fonction du type de RAM que vous utilisez.

Capacité (1 Go, 4 Go, 32 Go, etc.)

C'est assez simple; tout le monde devrait déjà être familier avec le concept selon lequel la RAM est disponible en différentes capacités. Le type particulier de RAM détermine quelle peut être la taille maximale d'une seule clé, mais ce n'est pas pertinent car les implémentations réelles limitent la quantité de RAM qu'un système peut prendre en charge (c'est-à-dire, consultez la documentation de votre système pour voir quelle capacité il prend en charge).

La capacité de la RAM peut être organisée en différentes configurations. Il n'y a généralement qu'une seule configuration standard pour la RAM d'une certaine taille. Si vous achetez de la RAM ultra bon marché sur Internet, sachez qu'elle peut être non standard (surtout si elles mentionnent l'organisation) et non prise en charge par votre serveur.

Vitesse (1600 MHz, etc.)

Aux fins de cette réponse, vous souhaitez que la vitesse de la RAM corresponde à la vitesse maximale du système. La RAM qui est une ou parfois deux "vitesses" plus rapide fonctionnera également, bien qu'à une vitesse moindre. De même, la RAM qui est une ou deux "vitesses" plus lente fonctionnera, également à une vitesse moindre.

Protection de l'intégrité (ECC ou non-ECC)

L'ECC est la forme la plus courante de protection de l'intégrité (c'est-à-dire, s'assurer que les rayons cosmiques n'ont pas retourné les bits et qu'aucun des emplacements de mémoire ne va mal). Dans la plupart des systèmes, la RAM doit être ECC ou non ECC, quel que soit le système requis. Parfois, cela s'appelle de la mémoire de 72 bits (un reste impropre de 64 canaux de données de mémoire obtenant 8 bits d'ECC le long du bus de données).

Lorsque la RAM a ECC, ces informations de protection peuvent être vérifiées à plusieurs reprises. La protection la plus élémentaire lit et vérifie les données ECC uniquement lorsque la RAM à cet emplacement de mémoire est lue. Des options plus avancées permettent au système de vérifier régulièrement l'ECC. Le plus souvent, j'ai vu cela appelé "nettoyage de la mémoire"; cela fonctionne un peu comme le nettoyage des baies de disques; et comme le nettoyage des baies de disques, vous devez l'activer, sauf s'il existe une bonne raison de le désactiver.

ECC est l'une des étapes de réduction de l'impact du bogue Row Hammer .

Capacité électrique du bus (sans tampon ou enregistré)

Nous ne sommes pas des ingénieurs électriciens, donc tout ce que vous devez vraiment savoir, c'est que la mémoire RAM tamponnée ou enregistrée permet plus de RAM dans un système que sans. Comme ECC, c'est quelque chose qui doit être pris en charge par le système. Contrairement à ECC, de nombreux nouveaux serveurs prennent en charge à la fois la mémoire RAM sans tampon / non enregistrée et la mémoire tampon / enregistrée. Les serveurs plus anciens avaient tendance à ne prendre en charge que l'un ou l'autre. Les registres sont un type de tampon, mais les termes sont utilisés de manière interchangeable lorsqu'ils sont appliqués à la RAM. Je n'ai jamais vu un système qui puisse mélanger sans tampon et enregistré en même temps.

Lorsque vous voyez UDIMM, le «U» est pour «sans tampon». Le "R" dans RDIMM est "Enregistré".

  • Rangs

    La RAM enregistrée a des caractéristiques "d'utilisation" électriques bien définies mesurées en "rangs". Chaque canal (ou bus) RAM d'un système peut prendre en charge autant de rangs à chaque vitesse qu'il prend en charge. En règle générale, les systèmes sont évalués à deux vitesses (c.-à-d. Que le canal fonctionne normalement à la vitesse X avec un classement allant jusqu'à A, mais à une vitesse Y s'il est supérieur à ce niveau et que seuls les rangs B sont possibles).

    Il y a de la RAM disponible avec la même capacité et la même vitesse, mais occupant différents nombres de rangs. Généralement, plus la capacité est élevée, plus le module prend de rangs. Les modules basse tension occupent moins de rangs (selon les spécifications du module).

Notes de pied

  • Il existe une variété d'options de configuration sans rapport avec la RAM physique que vous devez acheter pour votre serveur. Ceux-ci incluent la mise en miroir de la RAM (tout comme RAID1, mais pour la RAM), la conservation (littéralement de la RAM de rechange qui, si l'on va mal, la remplaçante la remplace), le timing et les optimisations associées.

  • Les serveurs modernes ont généralement le ou les contrôleurs de mémoire intégrés dans le processeur au lieu d'une puce North Bridge séparée. Cela signifie que les systèmes qui prennent en charge plusieurs processeurs doivent avoir le socket du processeur rempli qui correspond à un emplacement de mémoire afin d'utiliser cet emplacement. De même, certains processeurs nécessitaient qu'il y ait de la mémoire dans leurs emplacements pour que le système fonctionne. Consultez la documentation du système pour plus de détails.

  • Les serveurs modernes ont généralement plus d'un canal mémoire. Ces canaux fonctionnent principalement indépendamment, ce qui permettra une plus grande bande passante mémoire dans les scénarios d'utilisation gourmands en mémoire. En règle générale, vous devez prévoir de distribuer la mémoire sur tous les canaux sur tous les processeurs peuplés aussi uniformément que possible pour garantir les meilleures performances. 

Chris S
la source
5
Pour être complet, vous pouvez mentionner la mémoire à double ou triple canal et les systèmes à double CPU où il y a des banques dédiées à chaque CPU.
JamesRyan
2

Lors de la mise à niveau de la mémoire d'un serveur existant, vous devriez probablement commencer par confirmer quels modules de mémoire vous avez installés maintenant et quels modules supplémentaires / nouveaux / de remplacement sont réellement pris en charge par le fournisseur (carte principale) et le BIOS.

Pour respecter la garantie et vos contrats de support matériel, vous devrez peut-être acheter des pièces détachées d'origine auprès du fournisseur, plutôt que d'utiliser des modules de mémoire après-vente. La plupart des fournisseurs répertorient les pièces de rechange certifiées pour leur matériel et la plupart des fabricants de mémoire ont également des sélecteurs de produits qui vous dirigent vers les produits qui devraient fonctionner avec votre serveur.

Un écueil courant est que les serveurs plus anciens ne prennent pas en charge de nouveaux modules de mémoire de plus grande capacité, qui, sur la base de toutes leurs autres propriétés, conviennent et devraient fonctionner.

L'approche la plus courante consiste à remplir des banques de mémoire actuellement vides, plutôt que de passer à des modules de mémoire de plus grande taille. NB Vous ne pouvez pas remplir les banques de mémoire affectées aux sockets CPU vides.

Découvrir ce que vous avez maintenant

Certaines consoles de gestion à distance comme HP ILO afficheront la configuration actuelle de la mémoire.

La dmidecode -t memorycommande Linux affichera la quantité maximale de mémoire prise en charge par la carte principale ainsi que des informations sur la mémoire présente dans les banques de mémoire remplies et celles qui sont encore vides.

Pour les systèmes Windows, WMI doit fournir des informations similaires avec wmic MemoryChip.

Mélange de modules de mémoire de différentes tailles

Bien que cela semble toujours quelque peu faux, je n'ai vu aucune raison impérieuse pour laquelle c'est mauvais en soi. Le manuel du propriétaire confirme qu'il s'agit d'une configuration prise en charge, à condition que toutes les règles concernant la mémoire soient respectées.

Dans les configurations multi-CPU, vous avez besoin d'une configuration de mémoire équilibrée où chaque CPU a la même quantité de mémoire sur les mêmes canaux de mémoire: c'est-à-dire que dans une configuration à 2 CPU, vous pouvez avoir 2 Go dans l'emplacement A1 et 4 Go dans l'emplacement A2 tant que cela est en miroir dans le deuxième processeur, 2 Go dans l'emplacement B1 et 4 Go dans l'emplacement B2.

Mélanger des modules de mémoire de différentes vitesses

Vous pouvez mélanger des modules de vitesses différentes tant que la carte principale prend en charge ces vitesses. Le BIOS est censé trouver le plus petit dénominateur commun et contrôler que tous les modules fonctionnent à la même vitesse. Étant donné qu'une mémoire généralement plus rapide est plus chère, cela semble être un petit gaspillage d'argent, même si cela vous permet de cannibaliser certains systèmes plus anciens pour en mettre à niveau d'autres.

HBruijn
la source