Ở đâ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.
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!
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!
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
bạn không biết điều này tốt cho tôi như thế nào, cảm ơn
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.
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.
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
Bài báo xuất sắc. Cảm ơn bạn!
Bạn có thể đặt số không. những vấn đề nào có thể xuất hiện?
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?
Bạn đã viết tệ. Bạn đã không đặt dấu cách sau "cat".
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
Tuyệt vời, nó hoạt động với tôi trên Debian 10.9
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.
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