Cách sử dụng thư mục /dev/shm RAM disk.

RAM Disk là một phần dung lượng vật lý của RAM được format dưới dạng file system (tập tin hệ thống). Từ file sytsem này bạn có thể mount nó vào 1 thư mục và sử dụng như 1 phân vùng ổ cứng.

Thư mục này thường dùng với mục đích lưu trữ các file thời hạn lâu dài, dễ thay đổi nội dung, ghi đè, xoá và dung lượng nhỏ.

Phần lớn các hệ điều hành Linux hiện nay đều có sẵn RAM disk. Đây là một module trong Kernel. Hệ điều hành Ubuntu &CentOS thường mặc định gắn nó vào thư mục /dev/shm. Và với dung lượng bằng nửa số RAM mà bạn đang có.
Xem dung lượng:

$ df -h /dev/shm
Filesystem Size Used Avail Use% Mounted on
tmpfs 920M 0 920M 0% /dev/shm

Để thay đổi dung lượng này, có thể thay đổi file /etc/fstab hay thêm dòng sau:

$ mount -o remount,size=1G /dev/shm

Kiểm tra :

Filesystem Size Used Avail Use% Mounted on
/dev/vda1 55G 26G 27G 49% /
devtmpfs 909M 0 909M 0% /dev
tmpfs 1.0G 64K 1.0G 1% /dev/shm
tmpfs 920M 8.5M 911M 1% /run
tmpfs 920M 0 920M 0% /sys/fs/cgroup
tmpfs 184M 0 184M 0% /run/user/0

Bạn có thể thấy thư mục /dev/shm dung lượng hiện tại là 1GB.

Lưu cấu hình vĩnh viễn:

Sửa hoặc thêm dòng cấu hình sau vào file: /etc/fstab

none      /dev/shm        tmpfs   defaults,size=1G        0 0

 

Tạo thư mục ramdisk tương tự.

Ngoài ra tương tự với các thư mục ramdisk khác, Bạn còn có thể dùng lệnh mount như sau để tạo mới một ramdisk. Chẳng hạn tôi cần 1 thư mục ramdisk với đường dẫn : /tmp/ramdisk/ 

$ mkdir /tmp/ramdisk; chmod 777 /tmp/ramdisk 
$ mount -t tmpfs -o size=256M tmpfs /tmp/ramdisk/
Khắc phục nhược điểm mất dữ liệu khi tắt máy
Lưu ý: Khi reboot máy mọi dữ liệu trên ramdisk sẽ mất.

Bạn nên tạo một thư mục có cùng nội dung với RAM disk. Sau đó dùng rsync để đồng bộ hóa dữ liệu. Cũng có thể kết hợp với cron để định kỳ đồng bộ dữ liệu. Để tải dữ liệu lên khi bật máy, cần tạo một scriptvà đặt tại thư mục /etc/init.d. Sau đó dùng lệnh update-rc.d để thêm vào danh sách các phần mềm cần khởi động cùng Linux.

Related Articles