Swappiness: Cách điều chỉnh mức sử dụng bộ nhớ ảo

bộ nhớ ảo swappiness

Ở đây trong Ubunlog Chúng tôi cống hiến hết mình - hoặc cố gắng cống hiến hết mình - cho tất cả người dùng và điều đó bao gồm các cấu hình phần cứng rất khác nhau. Và theo một cách nào đó, chúng tôi muốn nghĩ rằng với các hướng dẫn mà chúng tôi trình bày ở đây, chúng tôi góp phần cải thiện trải nghiệm người dùng nói chung trong bản phân phối mà chúng tôi rất thích này (theo bất kỳ hương vị nào của nó), đó là lý do tại sao chúng tôi thường xuất bản các hướng dẫn vì đạt được hiệu suất tốt nhất có thể, đặc biệt là trong các thiết bị khiêm tốn hơn.

Bây giờ, không cần đi xa hơn nữa, chúng tôi sẽ hiển thị cách điều chỉnh việc sử dụng bộ nhớ ảo trong Ubuntu, theo cách để tránh điều đó, cuối cùng nó sẽ trở thành lực cản và làm cho hiệu suất kém hơn so với khi không có nó. Và đó là mặc dù bản thân ý tưởng sử dụng tệp hoặc phân vùng hoán đổi không phải là xấu nhưng hoàn toàn ngược lại, nếu nó không được thực hiện tốt, nó có thể tạo ra việc sử dụng quá nhiều đĩa cứng, chậm hơn nhiều so với RAM.

Vì lý do này, việc sử dụng phân vùng hoán đổi nên được giới hạn trong các trường hợp không có giải pháp thay thế nào khác ngoài việc sử dụng nó, lúc đó nó sẽ hỗ trợ bộ nhớ chính (là RAM). Thay vào đó, nếu chúng tôi sử dụng nó mọi lúc, thậm chí đôi khi trước cả RAM, hiệu suất của chúng tôi sẽ bị phạt. Hãy xem sau đó cách điều chỉnh mức sử dụng bộ nhớ ảo trong Linux bằng lệnh Swappiness.

Trong hệ điều hành của chúng tôi, việc tạo bộ nhớ ảo thường được thực hiện trong quá trình cài đặt, lúc đó chúng tôi xác định phân vùng gốc (/), phân vùng lưu trữ (/ home) và phân vùng trao đổi hoặc hoán đổi, thường được triển khai trên phân vùng / dev / sda5. Tham số hạt nhân quản lý việc sử dụng bộ nhớ ảo là swappiness đã đề cập trước đó và về cơ bản chúng ta có thể nói rằng nó phụ trách xác định tần suất chúng ta truy cập vào phân vùng hoán đổi và lượng nội dung chúng ta sao chép vào đó, thông qua một đối số khác nhau giữa 0 và 100.

Giá trị mặc định trong cài đặt Linux là 60, nhưng có thể dễ dàng giả định, không phải tất cả các cấu hình phần cứng đều giống nhau và do đó không có ý nghĩa gì khi duy trì mức đó bất kể đó là của chúng ta. Giá trị này được lưu trữ trong tệp / proc / sys / vm / swappiness và chúng tôi có thể kiểm tra nó bằng cách:

cat / proc / sys / vm / swappiness

Nó gần như chắc chắn sẽ ở mức 60 và nếu trường hợp đó xảy ra, chúng tôi có thể phải sửa đổi nó, đặc biệt nếu chúng ta có nhiều hơn 4 GB bộ nhớ RAM, vì trong trường hợp đó, chúng ta thường cần ít hoặc không cần bộ nhớ ảo. Nhưng trước khi giải thích cách sửa đổi điều đó, chúng ta hãy xem một chút về logic đằng sau toàn bộ điều này về bộ nhớ ảo và sự biến đổi; Và đó là khi nó được để mặc định ở mức 60, những gì hạt nhân được yêu cầu là sử dụng bộ nhớ ảo khi RAM của chúng ta còn 40% dung lượng trống trở xuống. Vì vậy, nếu chúng ta đặt swappiness bằng 100, bộ nhớ ảo sẽ được sử dụng mọi lúc, và nếu chúng ta để nó ở giá trị rất thấp, nó sẽ chỉ được sử dụng khi RAM của chúng ta sắp hết. Mức tối thiểu có thể là 1, vì để giá trị bằng 0, chúng tôi hủy kích hoạt bộ nhớ ảo hoàn toàn.

Vì vậy, những gì chúng ta phải làm là nhập lệnh sau từ thiết bị đầu cuối (Ctrl + Alt + T):

sudo sysctl vm.swappiness = 10

Bây giờ giá trị của swappiness sẽ vẫn ở mức 10 và khi đó bộ nhớ ảo sẽ khó được sử dụng. Sau khi giá trị này được thay đổi không cần khởi động lại máy tính mà có hiệu lực ngay lập tứcvà trên thực tế, nếu chúng tôi đặt lại giá trị, nó sẽ nằm ở mức 60 như trước đây, bởi vì những gì chúng tôi cần là để thay đổi này được thiết lập vĩnh viễn. Để làm điều này, khi chúng tôi đã sử dụng máy tính của mình và xác minh rằng mọi thứ đều ổn với giá trị mới của swappiness, chúng tôi thực hiện:

sudo nano /etc/sysctl.conf

sau đó chúng tôi tìm kiếm văn bản vm.swappiness = và thêm giá trị mong muốn sau ký hiệu "=". Chúng tôi lưu tệp và bây giờ có, thay đổi sẽ là vĩnh viễn.


Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: Miguel Ángel Gatón
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.

  1.   ceflo dijo

    Giải thích xuất sắc !!! Bài viết rất hay !! Trong trường hợp của tôi khi tôi thực hiện thay đổi này khi khởi động lại sổ ghi chép, nó trở về giá trị ban đầu là 60, nó giống như tệp được lưu nhưng khi khởi động lại nó được «định dạng». Tôi đã thử mọi thứ mà không thành công, bạn có biết điều gì có thể xảy ra không? Tôi có 1GB Ram.

    Cảm ơn bạn!

    1.    Willy klew dijo

      Xin chào César, tôi rất vui vì bạn thấy nó thú vị.

      Nếu giá trị bị mất khi hệ thống khởi động lại, tôi sẽ xem xét /etc/rc.local và các tập lệnh khởi động khác (chúng thay đổi theo từng bản phân phối) vì nó có thể được đặt khi khởi động.

      Chúc mừng!

  2.   Pascual Martin dijo

    Giải thích rất tốt!

    Như một phần bổ sung, đây là một điều thú vị khác về Swap và swappiness trong Linux:

    http://www.sysadmit.com/2016/10/linux-swap-y-swappiness.html

  3.   tình trạng người xem dijo

    bạn không biết điều này tốt cho tôi như thế nào, cảm ơn

  4.   giáo sĩ dijo

    Kính trọng,

    Trong /etc/sysctl.conf của tôi không phải là văn bản vm.swappiness =, tôi đã tìm nó tốt, tệp nhỏ. Trừ khi bạn phải thêm nó, bài báo nói rằng để tìm và sửa đổi giá trị, không phải thêm dòng.

  5.   Đồ dùng móc đá lên cao dijo

    Kính trọng,

    Trong /etc/sysctl.conf của tôi không có vm.swappiness = văn bản. Trừ khi bạn phải thêm nó, bài báo nói rằng để tìm và sửa đổi giá trị, không phải thêm dòng.

  6.   Nosferatus dijo

    Bạn phải tạo nó, ở cuối tệp bạn đặt vm.swappiness = 10 và thế là xong.

    Nếu nó không lưu khi khởi động lại, có thể là do bạn không sử dụng lệnh sudo.

    Ubuntu: sudo gedit /etc/sysctl.conf
    Xubuntu: sudo mousepad /etc/sysctl.conf

  7.   santiago dijo

    Bài báo xuất sắc. Cảm ơn bạn!

  8.   Roberto dijo

    Bạn có thể đặt số không. những vấn đề nào có thể xuất hiện?

  9.   Jose Castillo Ávalos dijo

    Xin chào và cảm ơn bạn Willy Clew vì bài viết của bạn đã làm rõ cho tôi quy trình sử dụng bộ nhớ swapp, nhưng nó khiến tôi nghi ngờ rất nhiều vì khi vào terminal và thực hiện các lệnh bạn chỉ ra, nó sẽ trả về thông báo:

    bash: cat / proc / sys / vm / swappiness: Tệp hoặc thư mục không tồn tại

    Điều gì có thể được gây ra điều này?

    1.    Andres Choque Lopez dijo

      Bạn đã viết tệ. Bạn đã không đặt dấu cách sau "cat".

  10.   sửa đổi băng dijo

    tuyệt vời, chúng tôi chia sẻ nó trong nhóm ubuntu bằng tiếng Tây Ban Nha https://t.me/ubuntu_es

  11.   Smith dijo

    Tuyệt vời, nó hoạt động với tôi trên Debian 10.9

  12.   John dijo

    Tôi là một nhà khoa học máy tính, tôi đã cài đặt và thử nghiệm một số bản phân phối, tùy chọn tốt nhất để định cấu hình swappiness là viết trong thiết bị đầu cuối

    sudo nano /etc/sysctl.conf

    sau khi nhấn enter, hãy viết phím và nhập lại, sau đó viết vào cuối dòng sau

    vm.swappiness = 0

    sau đó nhấn ctrl và phím x cùng lúc, nó sẽ tạo ra một câu hỏi mà nếu bạn muốn lưu câu mới trong tệp thì nhấn phím Y để nói có và n để nó không lưu câu đó.

    Tại sao tôi viết 0 XNUMX? Các bài kiểm tra đã được thực hiện trên các PC khác nhau mà tôi đã lập trình vì đó là tùy chọn tốt nhất vì nó sử dụng phân trang của ai nhưng chẳng hạn nếu mở chromium hoặc trình duyệt đang mở Facebook vì bộ nhớ hoán đổi (swap hay còn gọi là phân trang) sẽ tăng lên nhưng khi nó bị đóng phiên và trình duyệt hoặc bất kỳ chương trình nào vì bộ nhớ hoán trang (swap) sẽ giảm giải phóng đĩa cứng, điều này rất hữu ích để tránh làm hỏng nó, hãy nhớ rằng bộ nhớ hoán đổi hay còn gọi là hoán đổi trang (swap) sử dụng đĩa cứng.

  13.   Norberto gonzalez dijo

    Tôi không hiểu xin lỗi. Nếu mặc định là 60 để hoán đổi được kích hoạt với thiếu 40 hoặc ít hơn, khi đặt tham số là 10. Nó sẽ không được kích hoạt với 90 ram trống? Bằng cách làm chậm quá trình trao đổi dữ liệu