Cách tạo Swap file trong Linux

Swap trong Linux là các vùng cụ thể trên ổ đĩa, dành riêng cho bộ nhớ ảo. Chúng chủ yếu được dùng để cải thiện hiệu suất máy tính khi xử lý các tác vụ nặng như chỉnh sửa video. Khi hệ thống gặp khó khăn trong việc xử lý các tác vụ trên, kernel sẽ chuyển các tiến trình không hoạt động vào Swap để có không gian cho các tiến trình hoạt động trong bộ nhớ làm việc.

Thông thường, trong quá trình cài đặt Linux, phân vùng Swap được tạo ra theo mặc định và sẽ xác định không gian trên ổ cứng với mục đích trên. Tuy nhiên, việc làm này có một số nhược điểm như vấn đề về không gian nếu bạn có một ổ đĩa nhỏ trên máy tính cũ hoặc sử dụng ổ SSD trên các thiết bị mới hơn.

Vấn đề với ổ SSD là ở khả năng ghi giới hạn của nó trong các ô. Với mức độ hao mòn, bộ nhớ flash có tuổi họ hữu hạn và nhiều lần ghi có thể khiến các ổ riêng lẻ không được sử dụng.

Vậy, phương án thay thế là gì?

Việc sử dụng phân vùng Swap chuyên dụng là không thực tế nên bạn có thể sử dụng Swap file như là biện pháp thay thế. Swap file có chức năng, hoạt động tương tự như một phân vùng và nó còn có khả năng kiểm soát kích thước mà không gây ra vấn đề thay đổi kích thước trên volume.

Cách tạo Swap file trên Linux

Cách tạo Swap file

Hướng dẫn dưới đây sẽ tạo một Swap file 1GB. Đầu tiên, tạo file bằng cách nhập lệnh sau trong cửa sổ Terminal:

sudo fallocate -l 1G /mnt/1GB.swap

Nếu chưa cài đặt fallocate, bạn có thể chạy lệnh sau:

sudo dd if=/dev/zero of=/mnt/1GB.swap bs=1024 count=1048576

Bây giờ định dạng Swap file:

sudo mkswap /mnt/1GB.swap

Thêm Swap vào hệ thống như một Swap file:

sudo swapon /mnt/1GB.swap

Mở “/etc/fstab” trong trình soạn thảo văn bản và thêm phần này vào cuối để thực hiện thay đổi vĩnh viễn:

/mnt/1GB.swap none swap sw 0 0

Hãy phân tích cấu trúc lệnh trên:

  • “/mnt/1GB.swap” - đây là tên thiết bị và tên file
  • "swap" - xác định điểm gắn mount
  • "swap sw" - hiển thị Swap file được kích hoạt bởi swapon - s (xem bên dưới)
  • “0 0” - đây là các tùy chọn được sử dụng bởi chương dump và lệnh fsck tương ứng

Tại thời điểm này, nếu muốn thay đổi giá trị “swappiness”, bạn có thể chỉnh sửa “/etc/sysctl.conf” theo cách tương tự khi chỉnh sửa fstab ở trên. Giá trị swappiness thường là 60, con số càng cao (lên đến 100) thì việc trao đổi giữa bộ nhớ ảo càng nhanh.

vm.swappiness=10

Số lượng trên Swap cần thiết phụ thuộc vào cách hệ điều hành thực hiện và bộ nhớ được sử dụng. Người dùng nên thử nghiệm để tìm ra số lượng thích hợp nhất cho mình. Nếu giá trị trên được thiết lập là 0, Swap file chỉ được sử dụng khi hệ thống hết bộ nhớ. Giá trị 0 trên sẽ cho phép hệ thống hoán đổi các tiến trình nhàn dỗi và bộ nhớ miễn phí để lưu vào bộ nhớ đệm đĩa. Việc làm này có thể cải thiện hiệu suất hệ thống tổng thể.

Cuối cùng, kiểm tra Swap có hoạt động không:

sudo swapon -s

Sau đó, khởi động lại máy tính và Swap file sẽ hoạt động như một phân vùng trao đổi.

Chúc các bạn thực hiện thành công! 

Xem thêm: 

Thứ Ba, 02/10/2018 12:54
51 👨 217