Làm cách nào để tạo đĩa RAM?


55

Tôi muốn tạo một phân vùng được làm bằng ram ...

Thí dụ

Trong windows 7, bạn có thể tạo một phân vùng được làm bằng ram

nhập mô tả hình ảnh ở đây

Tôi đã tạo 1 GB phân vùng trong ram. sử dụng Primo RamDisk

Có phương án nào tốt trong Ubuntu không?


3
Ubuntu đi kèm với tmpfs. Bạn không cần tạo RAMDISK.
mixdev

Tùy thuộc vào trường hợp sử dụng dự định của bạn, bạn có thể không cần ramdisk cho Ubuntu (hoặc hầu hết các bản phân phối Linux). Hệ điều hành lưu trữ hoạt động đọc và ghi vào RAM trong khi nó hoạt động với các đĩa thông thường. Nếu bạn đọc một tệp nhỏ nhiều lần, nó sẽ chỉ được tìm nạp từ đĩa một lần, sau đó lấy từ bộ đệm RAM vào các lần sau. Nếu bạn có nhiều RAM, mọi thứ bạn làm sẽ được lưu vào bộ đệm theo cách này để bạn có được rất ít hoạt động đĩa lặp lại. Nếu bạn muốn sử dụng bộ nhớ nhanh không liên tục thay vì các tệp, bạn vẫn cần RAMDISK. Xem linuxHRyram.com để biết thêm chi tiết.
TafT

Câu trả lời:


77

Điều này sẽ chỉ cho bạn cách tạo RAMDISK siêu nhanh và dễ dàng. Với RAMDISK, bạn có thể sử dụng bộ nhớ của mình cho không gian tạm thời và nó cũng nhanh hơn rất nhiều so với ổ cứng của bạn.

Bây giờ, hãy bắt đầu bằng cách sử dụng 2 lệnh tiếp theo để tạo RAMDISK của bạn.

Đặt bất cứ điều gì bạn muốn RAMDISK của bạn được gọi là nơi tôi đã viết Nam nameme.

mkdir -p /media/nameme

mount -t tmpfs -o size=2048M tmpfs /media/nameme/
Các lệnh trên sẽ sử dụng 2GB RAM của tôi cho RAMDISK. Nếu bạn không có nhiều ram như tôi, tôi sẽ sử dụng 512MB hoặc 1GB. Vì vậy, tiếp theo sẽ tạo một lệnh cho Terminal sẽ tự động tạo RAMDISK cho bạn.

Nguồn: Cách tạo RAMDISK trong Linux


3
Làm thế nào tôi có thể làm cho điều này tồn tại giữa các lần khởi động lại?
chovy

1
Là RAM, nó không ổn định, khi bạn khởi động lại, tất cả đều bị mất, ngay cả khi khởi động ấm như BIOS / EFI sẽ xóa RAM. Điều tốt nhất bạn có thể làm là tạo một kịch bản shell chạy các lệnh khi đăng nhập.
Brandon MacEacéc

1
@chovy để tiếp tục bạn có một vài lựa chọn tôi nghĩ về 2 tại thời điểm này. 1. ghi api để ghi vào đĩa ram và ghi không đồng bộ vào đĩa hdd. Luôn đọc từ ram, chỉ khi khởi động khởi động ram từ đĩa. 2. thỉnh thoảng gọi một số tập lệnh sao chép bất cứ thứ gì trong đĩa ram vào một số đĩa hdd và sao chép lại một lần sau khi khởi động.
Lukas

một tùy chọn khác sẽ là chỉ định một cái gì đó giống /tmp/cachenhư thư mục bộ đệm của bạn, trong đó thư mục đó thực sự là điểm gắn kết của lớp phủ (sử dụng tmpfs làm phần trên và bất kỳ thứ gì khác trên hệ thống tệp thông thường mà bạn thường tương tác với phần dưới). điều này sẽ cho phép bạn có một lớp nhanh chóng, phù du và một cái gì đó có thể được đồng bộ hóa một cách tầm thường nếu bạn thỉnh thoảng muốn làm cho các phần của nó liên tục.
vào

chovy thêm nó vào /etc/rc.local và nó sẽ tự động gắn kết phân vùng ... nhưng dữ liệu sẽ bị mất.
777Anon

49

Hệ thống tập tin tmpfs là RAMDISK. Sau đây sẽ tạo ra RAMDISK 2G sẽ luôn khả dụng.

sudo mkdir -p /media/ramdisk
sudo mount -t tmpfs -o size=2048M tmpfs /media/ramdisk

Thư mục ramdisk được sở hữu bởi root vì nó có sẵn khi khởi động lại. Các quyền ramdisk nên được mọi người viết. Các quyền mặc định tmpfs (chmod 1777) là chính xác.

sudo chmod 1777 /media/ramdisk
drwxrwxrwt 2 root root 180 Apr 23 07:34 /media/ramdisk

Để làm cho ramdisk có sẵn vĩnh viễn, hãy thêm nó vào / etc / fstab.

grep /media/ramdisk /etc/mtab | sudo tee -a /etc/fstab

Bạn sẽ thấy dòng chuyển từ mtab sang fstab. Nó sẽ trông giống như thế này.

tmpfs /media/ramdisk tmpfs rw,size=2048M 0 0

RAMDISK sẽ không tiêu thụ bộ nhớ cho đến khi bạn sử dụng nó. Kiểm tra kỹ yêu cầu bộ nhớ của bạn trong khi tải hệ thống tối đa. Nếu RAMDISK quá lớn, hệ thống của bạn sẽ tiêu thụ bộ nhớ trao đổi để tạo ra sự khác biệt.

Để điều chỉnh kích thước của RAMDISK, hãy chỉnh sửa / etc / fstab và xác minh bằng cách lặp lại ramdisk (bạn sẽ mất nội dung RAMDISK hiện tại như khi khởi động lại). Sau đây sẽ thay đổi kích thước của ramdisk thành 512M

# Check the existing ramdisk size.
df /media/ramdisk
# change size=512M for a 512 megabyte ram drive.
sudo vi /etc/fstab
# Remount the ramdisk, you will lose any existing content.
sudo mount -a /media/ramdisk
# Verify the new ramdisk size.
df /media/ramdisk

1
Về mặt kỹ thuật, tmpfslà một ramfs, không phải ramdisk .
heemayl

2
Đồng ý. Tôi đã chọn sử dụng RAMDISK vì đây là tên chung cho cái này trên Windows.
rickfoosusa

Làm thế nào người ta có thể kiểm tra nếu ramdisk thực sự được sử dụng? Tôi luôn thấy nó được sử dụng 0%.
BTR N Nikol

9

Thêm 2 xu của tôi cho trường hợp bạn không có quyền root:

Trích dẫn từ câu trả lời này từ unix.stackexchange

Linux cung cấp một thiết bị tmpfs mà bất kỳ người dùng nào cũng có thể sử dụng, / dev / shm. Nó không được gắn vào một thư mục cụ thể theo mặc định, nhưng bạn vẫn có thể sử dụng nó như một thư mục.

Chỉ cần tạo một thư mục trong / dev / shm và sau đó symlink nó đến bất cứ nơi nào bạn muốn. Bạn có thể cung cấp cho thư mục đã tạo bất kỳ quyền nào bạn chọn để người dùng khác không thể truy cập.

Đây là một thiết bị được hỗ trợ RAM, vì vậy những gì có trong bộ nhớ theo mặc định. Bạn có thể tạo bất kỳ thư mục nào bạn cần bên trong / dev / shm

Đương nhiên, các tệp được đặt ở đây sẽ không tồn tại khi khởi động lại và nếu máy của bạn bắt đầu hoán đổi, / dev / shm sẽ không giúp bạn.

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.