Використовувати SSD як оперативну пам’ять?


13

Як я можу використовувати простір на диску SSD в якості оперативної пам'яті для запуску завдань з великою пам'яттю на Raspberry Pi? Це те саме в Linux, як створення "ramdisk" відповідно до цього запитання ?


4
Коротка відповідь: Це неможливо! Ви можете використовувати його як диск із змінним файлом або зберігати там тимчасові файли, але не можете розширювати оперативну пам’ять за допомогою диска. Це просто неможливо.
Пьотр Кула

3
Спробуйте використовувати GParted для форматування вашого SSD з linux-swapрозділом, а потім запустіть sudo swapon /dev/sda1(або будь-який розділ підкачки.) Ramdisk використовує вашу оперативну пам’ять як сховище, обмінні місця - це навпаки - використовуйте сховище як оперативну пам’ять.
JamesTheAwesomeDude

Відповіді:


8

Я припускаю, що ви маєте на увазі SD замість SSD? Створення розділу Swap на SD-карті повинно працювати як своєрідна ОЗУ для накопичувача.

Якщо ви маєте на увазі SSD, то немає справжнього способу підключення SSD-накопичувача до Pi в першу чергу. Якщо ви підключаєтесь через USB, не буде великого збільшення, навіть нормальний жорсткий диск, приєднаний зовні, не може працювати на повній швидкості.


7

Це неможливо.

Пам'ять для Raspberry Pi закріплена на платі, і немає інтерфейсу для її розширення або заміни.

Я думаю, що плутанина виникає з того, що SSD (Solid State Disk) використовує мікросхеми пам'яті для зберігання даних. Але на цьому схожість закінчується. Мікросхеми пам'яті на SSD сильно відрізняються від звичайної оперативної пам'яті. Замінити одне на інше неможливо.

SSD має інтерфейс диска SATA. Оперативна пам’ять має інтерфейс шини пам'яті. Вони настільки різні, що найкраща аналогія, яку я можу запропонувати, - це порівняння газової духовки з мікрохвильовою піччю.

Я намагався спростити інформацію, що випливає, тому для тих, хто читає це з глибшим розумінням, майте на увазі, що це лише дуже високий рівень резюме:

Чіпи SSD є флеш-пам’яттю і мають енергонезалежну здатність зберігання, подібно до USB-дисків великого пальця. Це означає, що вони можуть зберігати свої дані навіть без живлення. Для розмови з ними також потрібен спеціальний мікросхем контролера. Цей чіп підключений до інтерфейсу диска SATA і слідкує за протоколом SATA. За моєю аналогією, SSD - це газова піч, а шина SATA - це подача газу до будинку.

Типові мікросхеми оперативної пам'яті відомі як DRAM, тобто динамічна оперативна пам'ять (також відома як DDR SDRAM тощо). Вони зберігають дані дуже короткий час, що обумовлює необхідність їх вимкнення в автономний режим (відключення цих мікросхем від решти ланцюгів) для оновлення збережених даних. Це відбувається кілька сотень чи тисяч разів за секунду, і це зрозуміло для користувача. Якщо живлення відключається, це оновлення припиняється, і їх дані назавжди втрачаються. Чипи динамічної оперативної пам’яті дотримуються зовсім іншого протоколу від мікросхем Flash Memory і вони підключаються до динамічного контролера пам’яті, який, у свою чергу, підключається до дуже швидкої шини пам’яті. Ця шина пам’яті потрапляє безпосередньо в серце чіпа процесора. За моєю аналогією, динамічна оперативна пам'ять - це мікрохвильова піч, а швидкісна шина пам'яті - це електромережа.

Процесор Rapsberry Pi має спеціальне з'єднання для оперативної пам’яті і нічого, крім динамічної оперативної пам’яті, не може підключити туди. З'єднання SATA та USB зберігаються окремо.

Тож хоча вони обидва роблять одну і ту ж роботу (код і дані магазину SSD та RAM, газові плити та мікрохвильові печі готують їжу та розігрівають страви), вони роблять цю роботу абсолютно різними та несумісними способами. Одне не можна замінити іншим.

Нарешті, диск RAM - це хитрість операційної системи, яка робить вигляд, що частина наявної оперативної пам’яті насправді є накопичувальним диском. Це зменшує доступну оперативну пам’ять, як дуже коректно вказує ленік у своїй відповіді.


1
А як бути, коли Windows (Ready Boost) дозволяє використовувати флеш-накопичувачі як додаткову оперативну пам’ять, чи може це працювати? Або це як спроба додати SWAP, який не змінить сподівання у продуктивності?
римми

ReadyBoost в Windows не працює як оперативна пам’ять, див. Wikipedia: en.wikipedia.org/wiki/ReadyBoost . Підсумовуючи: ReadyBoost - це рішення кешування дисків для прискорення повільних дисків. Як правило, це включає копіювання даних з прядильних дисків на флешки, щоб зменшити час доступу до даних.
Василіс Папаніколау

3

Додавання свопу до Raspberry Pi

Ви можете використовувати файл swap або розділ swap. Якщо ви вирішили використовувати розділ swap, обов’язково прочитайте уважно, оскільки не хочете зіпсувати будь-які важливі дані.

Створення файлу swap

  • dd if=/dev/zero of=/SWAPFILE bs=1024 count=524288
    • Це створить пустий файл 512 Мб.
    • Змініть кількість = на бажаний розмір.
  • chown root:root /SWAPFILE
  • chmod 0600 /SWAPFILE
  • mkswap /SWAPFILE
  • swapon /SWAPFILE

Створення розділу swap

  • dd if=/dev/zero of=/dev/sdXN bs=1024
    • Це заповнить весь розділ / dev / sdXN
  • mkswap /dev/sdXN
  • swapon /dev/sdXN

Постійний під час завантаження (додати в / etc / fstab)

  • vim /etc/fstab
  • Додайте або:
    • / SWAPFILE за замовчуванням своп-своп 0 0
    • / dev / sdXN swap своп за замовчуванням 0 0

Перевірте, чи активний він

  • free -m

1
Незважаючи на те, що SSD-диски швидкі і можуть бути корисними для обміну місцями, слід попередити, що дані можуть бути записані до них лише обмежена кількість разів.
земляLon

Не забувайте, що вас перебуває через інтерфейс USB2, тому SSD буде менше 10% від його натурної швидкості. Я насправді не думаю, що вам потрібно хвилюватися про те, щоб зносити спалах випадково.
Джон Ла Рой

1

Оперативний диск є абсолютно протилежним тому, що ви хочете зробити. він створює диск в оперативній пам'яті, коли вам потрібна додаткова швидкість і не хвилюється пам'ять.

використовуючи SSD в якості оперативної пам'яті ... не знаю, можливо, створіть розділ swap на SSD і нехай він поміняється там.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.