L'utilisation du processeur augmente avec 4 Go de RAM installés

9

J'ai un Intel Atom D2700 (Synology NAS DS412 +) avec 4 Go de RAM exécutant le noyau 3.2.30 x86_64. Cette unité possède un seul emplacement DIMM.

Une chose que j'ai trouvée, et d'autres, c'est que lors de l'ajout d'un module DIMM de 4 Go par rapport à un module DIMM de 2 Go, l'unité subit une utilisation du processeur nettement plus élevée lorsqu'elle est sous charge (par exemple, les applications Java `` lourdes '' comme les serveurs Minecraft ou le transcodage Plex, etc.) . De nombreux utilisateurs ont constaté que lorsqu'ils reviennent à 2 Go, tous ces problèmes de charge élevée disparaissent.

Est-ce quelque chose de spécifique à Linux qui peut provoquer cela? Ou est-ce un problème avec l'Atom lui-même?

Trevor Seward
la source
Vous pouvez peut-être ajouter la distribution que vous utilisez?
Bernhard
La construction de Synology.
Trevor Seward
Y a-t-il eu des changements dans le noyau? Utilisez-vous un noyau PAE par hasard?
ffledgling
Synology ne fournit généralement pas ces types de notes de version. Non, il s'agit d'un noyau x86-64.
Trevor Seward
Qu'est-ce que top affiche comme source pour la charge supplémentaire? Plus d'E / S, plus de processus en cours? L'échange est-il activé? Si vous avez des processus de longue durée avec une charge (er) élevée, vous pouvez comparer les sorties du cat /proc/$PID/statustemps.
Hauke ​​Laging

Réponses:

7

Jetez un œil à la fiche technique des processeurs Intel Atom® série D2000 et N2000, vol. 1 .

Remarque pages 32-33 et tableau 3-24.

La leçon à retenir de cela est que si votre processeur et contrôleur de mémoire prennent en charge 4 Go de RAM totale, ils ne le prennent en charge qu'en morceaux de 2 Go, dans 2 Go par emplacement. Étant donné que votre 412+ n'a qu'un seul emplacement, 2 Go est votre RAM maximale. Tout ce qui est au-dessus de cela est susceptible d'être imprévisible.

quadruplebucky
la source
1

tl; dr

Je pense que le coupable est un module RAM incompatible.


J'ai lu la fiche technique D2000 (comme suggéré par quadruplebucky). AFAIK la fiche technique ne dit rien sur la limitation de la taille de la RAM par rapport à un certain nombre d'emplacements DIMM. Il parle plutôt des rangs (réf. Géométrie mémoire ).

Toute personne souhaitant mettre à niveau la RAM dans le système D2000 doit consulter le tableau 3-24 pour les configurations de mémoire prises en charge . Pour une taille de mémoire de 4096 Mo, le module doit être:

  • double classé,
  • avec 16 puces de 2 gigabits de densité.

Les modules de mémoire de même capacité sont fabriqués dans différentes configurations, de sorte que l'on peut obtenir, par exemple, un module de 4 Go à un rang en utilisant huit puces de densité de quatre gigabits, configuration qui n'est pas répertoriée dans le tableau - voir ce poste d'éclairage de Kingston .

Cela dit, vous devez vérifier les spécifications du numéro de pièce exact de votre module pour vous assurer qu'il est compatible. J'ai récemment installé Patriot PSD34G1333L2S dans DS713 + et jusqu'à présent, il fonctionne bien.

M. Tao
la source
0

S'il y a plus de mémoire, le processeur aura plus de données / programmes à portée de main (il restera inactif en attendant les données du disque moins de temps), donc l'utilisation du processeur devrait augmenter, spécialement sous une charge élevée. Le débit augmente-t-il? Ou n'avez-vous pas mesuré cela?

vonbrand
la source
Je ne peux pas dire que je l'ai vraiment mesuré au-delà du sommet (Busybox, donc les options sont quelque peu limitées), mais les performances chutent considérablement pour les applications mentionnées ci-dessus lors de l'utilisation de 4 Go de RAM, certaines au point qu'elles sont inutilisables. Avec 2 Go de RAM, aucun de ces problèmes n'est apparent.
Trevor Seward
L'article de Wikipedia allemand affirme que les processus d'E / S font partie de la charge. Ainsi, la charge devrait chuter avec plus de RAM. Cela peut facilement être vérifié par for((i=0;i<20;i++)); do dd if=/dev/sda of=/dev/null skip=$((i*100)) bs=1M count=100 & done. Exécutez ceci et regardez en haut. Je ne sais pas cependant comment les E / S dues à l'échange affectent la charge et le pourcentage d'attente des E / S. Cette baisse de performances n'a aucun sens avec cette explication.
Hauke ​​Laging
0

Un ordinateur a TOUJOURS un goulot d'étranglement, sinon tous les problèmes seraient résolus en un rien de temps. Lorsque vous avez retiré le col du flacon de mémoire, le système a cessé d'attendre sur le disque et le processeur est ainsi mieux utilisé.

Cela touche à l'une de mes détestations: les blogs et les sites Web de recherche de sensations populaires ne savent pas comment se comparer. Un processeur 100% utilisé n'est pas un processeur gaspillé. L'ordinateur parfait pourrait utiliser toutes les ressources à 100% pour toutes les charges de travail, mais nous sommes très loin de ce type de technologie. Mais je m'égare.

À moins bien sûr qu'il y ait un problème avec la gestion de la mémoire dans votre système d'exploitation, mais cela est beaucoup moins probable.

Johan
la source
3
Je pense qu'il y a un grand malentendu sur ce qui se passe ici. Les applications connaissent des performances significatives avec 4 Go contre 2 Go de RAM. Ce n'est pas que le processeur soit utilisé à 100%, c'est que les applications deviennent presque non fonctionnelles.
Trevor Seward
Peut-être que les frais généraux de pagination et de changement de contexte sont à l'origine de cela? Vous devez essayer d'exécuter une seule application lourde avec 2 Go et 4 Go pour voir si le débit de cette application augmente. Si c'est le cas, cela pourrait être dû au changement de contexte.
ffledgling
3
Changement de contexte en raison de la mémoire physique disponible supplémentaire?
Trevor Seward
Mon hypothèse était que cette mémoire supplémentaire signifiait que le processeur pouvait désormais travailler sur plus de processus / threads simultanément (car il n'aurait pas à attendre sur les E / S de disque ou l'espace d'échange) et plus de processus / threads signifieraient donc plus de changements de contexte. Je pourrais bien sûr me tromper.
ffledgling
@TrevorSeward, la question dit quelque chose de complètement différent.
vonbrand
0

Y a-t-il une chance que votre nouvelle RAM soit DDR3-800 et l'ancienne DDR3-1066 (ou que la nouvelle RAM ait une latence plus élevée?

Si votre charge de travail a de nombreux échecs de cache et frappe fréquemment la RAM, une RAM plus lente pourrait faire une différence significative - ce benchmark montre environ 30% de différence de bande passante mémoire entre -1066 et -800 RAM:

http://www.tomshardware.com/reviews/core-i7-870-1156,2482-5.html

Votre charge de travail devrait être assez gourmande en mémoire pour voir une grande différence.

Johnny
la source
Le module DIMM de remplacement est le KVR1333D3S9 / 4G, mais l'Atom ne fonctionnera qu'à 800 MHz.
Trevor Seward
Intel indique que le contrôleur de mémoire D2700 fonctionnera avec la RAM DDR3-800 ou -1066 (avec une bande passante mémoire maximale correspondante de 6,4 Go / s et 8,5 Go / s). Mais comme votre RAM est de 1333, elle devrait être rétrogradée à 1066, ce qui rend ma suggestion sans objet.
Johnny
0

Je n'ai jamais expérimenté cela donc juste deviner: c'est peut-être un problème en raison de l'atome ne pouvant pas traiter plus de 4G que physiquement (IIRC) et d'une collision avec l'espace d'adressage PCI.

Jetez un œil aux paramètres respectifs du noyau (mem *) . Ils ne nous donneront probablement pas une bonne explication du problème mais peuvent le résoudre (au prix de RAM). Vous pouvez donc empêcher le noyau d'utiliser le x MiB supérieur. Vous pouvez tester à quelle frontière le problème disparaît. Il est probable mais pas sûr que les périphériques PCI soient mappés directement sous la 4G. Il est logique de vérifier cela, mais je ne sais pas comment le faire (peut-être via un outil ACPI ou cat /sys/devices/pci0000\:00/0000\:00*/resource).

Hauke ​​Laging
la source
Comment peut-on définir max mem sans accéder aux paramètres de démarrage?
Trevor Seward
0

Avez-vous vu ce fil de discussion Synology:

http://forum.synology.com/enu/viewtopic.php?f=140&t=55105&sid=32ffe791c14c1a817869f78ec3d4300a&start=15

Une personne dit que changer un paramètre dans /etc/rc.d aide (c'est là que vm.min_free_kybtes est défini en fonction de la quantité de RAM installée). Mais cela semble être plus pour une mise à niveau 1 Go -> 2 Go, pas 2 Go -> 4 Go.

D'autres prétendent que 4 Go ne fonctionneront pas du tout, tandis qu'un gars prétend qu'un module KVR1066D3S7 / 4G (qui est de 1066 MHz) fonctionne bien tandis que d'autres avec des modules de 1333 MHz comme le vôtre voient des problèmes.

Il ne semble pas y avoir beaucoup de preuves tangibles pour suggérer une solution, mais vous n'êtes pas le seul à voir une dégradation des performances avec 4 Go de RAM dans ce DS412 +.

Johnny
la source
1
C'est moi, et non à la fin, la modification de min_free_kbytes n'a pas aidé.
Trevor Seward
Ensuite, j'irais avec le gars qui a dit que le module 1066Mhz fonctionnait, mais les gens avec les modules 1333Mhz se plaignent de problèmes - peut-être que le BIOS de Synology ne gère vraiment pas bien le 1333.
Johnny
Ce serait l'implémentation UEFI d'Intel.
Trevor Seward
0

Ma supposition (éclairée) est que le cache de votre processeur ne peut pas gérer plus de 2 Go de RAM, donc en installer plus que cela entraîne la désactivation du cache, entraînant un impact significatif sur les performances. C'est également un processeur quad core, donc une seule application threadée ne peut utiliser au maximum que 25% du processeur total, c'est pourquoi elle ne monte pas après l'ajout de ram.

psusi
la source
C'est une bonne idée. Est-il possible de savoir si le cache a été désactivé depuis la distribution?
Trevor Seward