Sử dụng SSD làm RAM?


13

Làm cách nào tôi có thể sử dụng không gian đĩa SSD làm RAM để chạy các công việc bộ nhớ lớn trên Raspberry Pi? Điều này có giống với Linux khi tạo "ramdisk" theo Q & A này không?


4
Câu trả lời ngắn gọn là: Không thể! Bạn có thể sử dụng nó như một đĩa trao đổi hoặc giữ các tệp tạm thời ở đó nhưng bạn không thể mở rộng RAM bằng ổ đĩa. Điều đó chỉ là không thể.
Piotr Kula

3
Hãy thử sử dụng GParted để định dạng ổ SSD của bạn với một linux-swapphân vùng, sau đó chạy sudo swapon /dev/sda1(hoặc bất kể phân vùng trao đổi là gì.) Ramdisk sử dụng RAM của bạn làm bộ lưu trữ, về cơ bản không gian trao đổi là ngược lại - sử dụng bộ nhớ làm RAM.
JamesTheAwgieDude

Câu trả lời:


8

Tôi giả sử bạn có nghĩa là SD thay vì SSD? Tạo phân vùng Hoán đổi trên thẻ SD sẽ hoạt động như một loại RAM cho ổ đĩa.

Nếu bạn có nghĩa là SSD thì không có cách nào thực sự kết nối ổ SSD với Pi ngay từ đầu. Nếu bạn đang kết nối bằng USB thì sẽ không có sự gia tăng lớn nào, thậm chí một ổ cứng thông thường được gắn bên ngoài có thể chạy ở tốc độ tối đa.


7

Điều này là không thể.

Bộ nhớ cho Raspberry Pi được cố định trên bo mạch và không có giao diện để mở rộng hoặc thay thế nó.

Tôi nghĩ rằng sự nhầm lẫn xuất phát từ việc SSD (Solid State Disk) đang sử dụng chip bộ nhớ để lưu trữ dữ liệu. Nhưng đó là nơi tương tự kết thúc. Các chip bộ nhớ trên SSD khác rất nhiều so với RAM thông thường. Không thể thay thế cái này cho cái kia.

SSD có giao diện đĩa SATA. RAM có giao diện bus bộ nhớ. Chúng rất khác nhau, sự tương tự tốt nhất tôi có thể cung cấp giống như so sánh lò nướng gas với lò vi sóng.

Tôi đã cố gắng đơn giản hóa thông tin theo sau, vì vậy đối với bất kỳ ai đọc điều này với sự hiểu biết sâu sắc hơn, xin lưu ý rằng đây chỉ là một bản tóm tắt cấp độ rất cao:

Các chip SSD là Flash Memory và có khả năng lưu trữ không biến động, tương tự như các đĩa USB. Điều này có nghĩa là họ có thể giữ lại dữ liệu của mình ngay cả khi không có nguồn điện. Họ cũng cần một chip điều khiển đặc biệt để nói chuyện với họ. Con chip này được kết nối với giao diện đĩa SATA và tuân theo giao thức SATA. Theo cách tương tự của tôi, SSD là lò nấu gas và bus SATA là nguồn cung cấp gas cho ngôi nhà.

Các chip RAM điển hình được gọi là DRAM, tức là RAM động (còn được gọi là DDR SDRAM, v.v.). Họ lưu trữ dữ liệu trong một thời gian rất ngắn, điều này khiến chúng cần phải đưa chúng ra khỏi mạng (ngắt kết nối các chip này khỏi phần còn lại của mạch) để làm mới dữ liệu được lưu trữ của chúng. Điều này xảy ra vài trăm hoặc hàng nghìn lần mỗi giây và nó minh bạch cho người dùng. Nếu mất điện thì việc làm mới này dừng lại và dữ liệu của họ sẽ bị mất mãi mãi. Các chip RAM động tuân theo một giao thức hoàn toàn khác với các chip Flash Memory và chúng kết nối với Bộ điều khiển bộ nhớ động, lần lượt, kết nối với một bus bộ nhớ tốc độ rất cao. Bus bộ nhớ này đi trực tiếp vào trung tâm của chip CPU. Tương tự như vậy, RAM động là lò vi sóng và bus bộ nhớ tốc độ cao là nguồn cung cấp điện chính.

CPU Rapsberry Pi có kết nối đặc biệt dành cho RAM và không có gì ngoài Dynamic RAM có thể kết nối ở đó. Kết nối SATA và USB được giữ riêng.

Vì vậy, mặc dù cả hai đều làm cùng một công việc (mã và dữ liệu lưu trữ SSD và RAM, bếp gas và lò vi sóng nấu thức ăn và hâm nóng bữa ăn) họ làm công việc này theo những cách hoàn toàn khác nhau và không tương thích. Một cái không thể được thay thế cho cái khác.

Cuối cùng, RAM Disk là một thủ thuật của hệ điều hành giả vờ rằng một số RAM có sẵn thực sự là một đĩa lưu trữ. Điều này làm giảm RAM có sẵn vì lenik rất chính xác chỉ ra trong câu trả lời của anh ấy.


1
Thế còn khi Windows (Ready Boost) cho phép bạn sử dụng Flash Drive làm RAM thêm, điều đó có thể hoạt động không? Hay nó giống như cố gắng thêm SWAP mà sẽ không tạo ra sự khác biệt hy vọng về hiệu suất?
vần điệu

ReadyBoost trên Windows không hoạt động như RAM, xem Wikipedia: en.wikipedia.org/wiki/ReadyBoost . Tóm lại: ReadyBoost là một giải pháp lưu trữ đĩa để tăng tốc các đĩa chậm hơn. Thông thường, điều này liên quan đến việc sao chép dữ liệu từ đĩa quay sang ổ đĩa flash để giảm thời gian truy cập dữ liệu.
Vassilis Papanikolaou

3

Thêm trao đổi vào Raspberry Pi

Bạn có thể sử dụng tệp hoán đổi hoặc phân vùng trao đổi. Nếu bạn quyết định sử dụng phân vùng trao đổi, hãy chắc chắn rằng bạn đã đọc kỹ, vì bạn không muốn làm hỏng bất kỳ dữ liệu quan trọng nào.

Tạo tập tin hoán đổi

  • dd if=/dev/zero of=/SWAPFILE bs=1024 count=524288
    • Điều này sẽ tạo ra một tập tin trống 512 MB.
    • Thay đổi số lượng = kích thước ưa thích của bạn.
  • chown root:root /SWAPFILE
  • chmod 0600 /SWAPFILE
  • mkswap /SWAPFILE
  • swapon /SWAPFILE

Tạo phân vùng trao đổi

  • dd if=/dev/zero of=/dev/sdXN bs=1024
    • Điều này sẽ lấp đầy toàn bộ phân vùng của / dev / sdXN
  • mkswap /dev/sdXN
  • swapon /dev/sdXN

Kiên trì khởi động (thêm vào / etc / fstab)

  • vim /etc/fstab
  • Thêm một trong hai:
    • / SWAPFILE hoán đổi hoán đổi mặc định 0 0
    • / dev / sdXN hoán đổi hoán đổi mặc định 0 0

Kiểm tra nếu nó hoạt động

  • free -m

1
Mặc dù SSD rất nhanh và có thể tốt cho không gian trao đổi, nhưng được cảnh báo rằng dữ liệu chỉ có thể được ghi cho chúng trong một số lần giới hạn.
earthmeLon

Đừng quên rằng bạn đang điều chỉnh thông qua giao diện USB2, do đó, SSD sẽ thấp hơn 10% so với tốc độ gốc. Tôi thực sự không nghĩ rằng bạn cần phải lo lắng về việc tắt đèn flash một cách tình cờ.
John La Rooy

1

Đĩa RAM hoàn toàn trái ngược với những gì bạn muốn làm. nó tạo đĩa trong RAM, khi bạn cần thêm tốc độ và không quan tâm đến bộ nhớ.

sử dụng SSD làm RAM ... dunno, có thể tạo phân vùng trao đổi trên SSD và để nó trao đổi ở đó.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.