Utiliser le SSD comme RAM?

13

Comment puis-je utiliser l'espace disque SSD comme RAM pour exécuter des travaux à grande mémoire sur le Raspberry Pi? Est-ce la même chose sous Linux que la création de "ramdisk" selon ce Q&A ?

719016
la source
4
La réponse courte est: ce n'est pas possible! Vous pouvez l'utiliser comme un disque d'échange ou y conserver des fichiers temporaires, mais vous ne pouvez pas étendre votre RAM à l'aide du lecteur. Ce n'est tout simplement pas possible.
Piotr Kula
3
Essayez d'utiliser GParted pour formater votre SSD avec une linux-swappartition, puis exécutez sudo swapon /dev/sda1(ou quelle que soit la partition de swap.) Ramdisk utilise votre RAM comme stockage, l'espace de swap est fondamentalement l'opposé - utilisez le stockage comme RAM.
JamesTheAwesomeDude

Réponses:

8

Je suppose que vous voulez dire SD au lieu de SSD? La création d'une partition Swap sur la carte SD devrait fonctionner comme une sorte de RAM pour le lecteur.

Si vous voulez dire SSD, il n'y a pas de véritable moyen de connecter un lecteur SSD au Pi en premier lieu. Si vous vous connectez par USB, il n'y aura pas de forte augmentation, même un disque dur normal connecté en externe ne peut pas fonctionner à pleine vitesse.

Ryan Walmsley
la source
7

Ce n'est pas possible.

La mémoire du Raspberry Pi est fixée sur la carte et il n'y a pas d'interface pour l'étendre ou le remplacer.

Je pense que la confusion vient du fait que le SSD (Solid State Disk) utilise des puces mémoire pour stocker les données. Mais c'est là que s'arrêtent les similitudes. Les puces mémoire du SSD sont très différentes de la RAM normale. Il n'est pas possible de remplacer l'un pour l'autre.

Le SSD a une interface de disque SATA. La RAM a une interface de bus mémoire. Ils sont si différents que la meilleure analogie que je puisse offrir, c'est comme comparer un four à gaz à un micro-ondes.

J'ai essayé de simplifier les informations qui suivent, donc pour ceux qui lisent ceci avec une compréhension plus approfondie, veuillez garder à l'esprit que ce n'est qu'un résumé de très haut niveau:

Les puces SSD sont à mémoire flash et ont une capacité de stockage non volatile, similaire aux clés USB. Cela signifie qu'ils peuvent conserver leurs données même sans électricité. Ils ont également besoin d'une puce de contrôleur spéciale pour leur parler. Cette puce est connectée à une interface de disque SATA et suit le protocole SATA. Dans mon analogie, le SSD est le four de cuisson au gaz et le bus SATA est l'alimentation en gaz de la maison.

Les puces RAM typiques sont connues sous le nom de DRAM, c'est-à-dire RAM dynamique (également connue sous le nom de DDR SDRAM, etc.). Ils stockent les données pendant très peu de temps, ce qui nécessite de les mettre hors ligne (déconnectez ces puces du reste des circuits) pour rafraîchir leurs données stockées. Cela se produit plusieurs centaines ou milliers de fois par seconde et il est transparent pour l'utilisateur. Si l'alimentation est coupée, cette actualisation s'arrête et leurs données sont perdues à jamais. Les puces RAM dynamiques suivent un protocole complètement différent des puces mémoire flash et elles se connectent à un contrôleur de mémoire dynamique, qui à son tour, se connecte à un bus mémoire à très grande vitesse. Ce bus mémoire va directement au cœur de la puce CPU. Dans mon analogie, la RAM dynamique est le four à micro-ondes et le bus mémoire à grande vitesse est l'alimentation secteur.

Le CPU Rapsberry Pi a une connexion spéciale pour la RAM et rien que la RAM dynamique ne peut s'y connecter. Les connexions SATA et USB sont conservées séparément.

Ainsi, bien qu'ils fassent tous les deux le même travail (code et données de stockage SSD et RAM, cuisinières à gaz et micro-ondes pour cuire les aliments et réchauffer les repas), ils font ce travail de manières complètement différentes et incompatibles. L'un ne peut être substitué à l'autre.

Enfin, le disque RAM est une astuce du système d'exploitation qui prétend qu'une partie de la RAM disponible est en fait un disque de stockage. Cela réduit la RAM disponible comme le souligne très correctement lenik dans sa réponse.

Vassilis Papanikolaou
la source
1
Qu'en est-il lorsque Windows (Ready Boost) vous permet d'utiliser des lecteurs flash comme RAM supplémentaire, cela pourrait-il fonctionner? Ou est-ce comme essayer d'ajouter SWAP qui ne fera pas la différence espérée dans les performances?
rhymesy
ReadyBoost sur Windows ne fonctionne pas comme RAM, voir Wikipedia: en.wikipedia.org/wiki/ReadyBoost . En résumé: ReadyBoost est une solution de mise en cache de disque pour accélérer les disques plus lents. Cela implique généralement la copie des données des disques en rotation sur des lecteurs flash pour réduire les temps d'accès aux données.
Vassilis Papanikolaou
3

Ajout de swap au Raspberry Pi

Vous pouvez soit utiliser un fichier d'échange, soit une partition d'échange. Si vous décidez d'utiliser une partition de swap, assurez-vous de lire attentivement, car vous ne voulez pas ruiner des données importantes.

Création d'un fichier d'échange

  • dd if=/dev/zero of=/SWAPFILE bs=1024 count=524288
    • Cela créera un fichier vierge de 512 Mo.
    • Modifiez le nombre = à votre taille préférée.
  • chown root:root /SWAPFILE
  • chmod 0600 /SWAPFILE
  • mkswap /SWAPFILE
  • swapon /SWAPFILE

Création d'une partition de swap

  • dd if=/dev/zero of=/dev/sdXN bs=1024
    • Cela remplira toute la partition de / dev / sdXN
  • mkswap /dev/sdXN
  • swapon /dev/sdXN

Persistant au démarrage (ajouter à / etc / fstab)

  • vim /etc/fstab
  • Ajoutez soit:
    • / SWAPFILE swap swap par défaut 0 0
    • / dev / sdXN swap swap par défaut 0 0

Testez s'il est actif

  • free -m
EarthmeLon
la source
1
Bien que les SSD soient rapides et puissent être utiles pour l'espace d'échange, sachez que les données ne peuvent y être écrites qu'un nombre limité de fois.
earthmeLon
N'oubliez pas que vous êtes limité par l'interface USB2, donc le SSD sera inférieur à 10% de sa vitesse native. Je ne pense vraiment pas que vous ayez à vous soucier de porter le flash par accident.
John La Rooy
1

Le disque RAM est totalement opposé à ce que vous voulez faire. il crée un disque dans la RAM, lorsque vous avez besoin de plus de vitesse et ne vous souciez pas de la mémoire.

en utilisant SSD comme RAM ... ne sais pas, peut-être créer une partition de swap sur SSD et le laisser y swap.

lenik
la source