Điểm:1

Tự động quản lý trao đổi / bộ nhớ

lá cờ bd

Khi lấp đầy bộ nhớ và trao đổi kinh nghiệm của tôi những năm gần đây nhất là:

  • Windows và macOS đi "ồ, hãy khắc phục điều đó cho bạn" và sau đó có lẽ tăng kích thước trao đổi. Mở ví dụ: 30 tab YouTube làm chậm mọi thứ trong một thời gian, nhưng nhìn chung tôi vẫn có thể sử dụng con trỏ nếu tôi muốn hủy bỏ quá trình và sau đó, phần còn lại của hệ thống (không nhất thiết phải là ứng dụng vi phạm) vẫn phản hồi tốt như mọi khi.

  • Ubuntu (21.04) thông báo "xin lỗi, bạn không thể tương tác với máy tính trong vòng mười đến ba mươi phút tới".Trên cùng một phần cứng và cùng một trình duyệt, tôi có thể mở 30 tab YouTube và xem toàn bộ hệ thống bị khóa. Tất cả bộ nhớ và trao đổi đã được sử dụng hết và con trỏ không chỉ chậm mà còn bị khóa tại chỗ. Tôi không thể tương tác một cách có ý nghĩa với phần còn lại của hệ thống.

Sự khác biệt dường như là Ubuntu không bao giờ giải quyết được tình huống, giữ cho kích thước trao đổi của nó không đổi và do đó, cứ sau 5 giây lại bị khóa mãi mãi. Cho đến khi xảy ra sự cố nghiêm trọng và Firefox biến mất không dấu vết — điều hầu như không bao giờ xảy ra trong các hệ điều hành khác. Khía cạnh quan trọng nhất là tôi không thể tương tác với phần còn lại của hệ thống.

Tôi không biết, nhưng tôi có ấn tượng rằng điều này sẽ không thành vấn đề nếu quy mô hoán đổi được tăng lên dựa trên nhu cầu. Điều đó được thực hiện như thế nào? Có cách nào quản lý bộ nhớ tốt hơn không?


cập nhật thử nghiệm

Sau khi (không quá nhanh) thực hiện bài kiểm tra nhanh được đề xuất trong các nhận xét trong đó tôi tăng gấp đôi kích thước của tệp hoán đổi, tôi có thể kết luận rằng nó tạo ra tất cả sự khác biệt trên thế giới. Hệ thống vẫn đáp ứng trong suốt quá trình tải. Tôi chỉ có thể kết luận rằng kích thước hoán đổi thích ứng sẽ giảm bớt vấn đề được mô tả.

$ miễn phí -h
              tổng số buff/bộ đệm được chia sẻ miễn phí đã sử dụng hiện có
Mem: 3.7Gi 3.1Gi 129Mi 374Mi 566Mi 105Mi
Hoán đổi: 4.0Gi 3.0Gi 988Mi

$ sysctl vm.swappiness
vm.swappiness = 60

$ hoán đổi -s
Tên tệp Loại Kích thước Được sử dụng Ưu tiên
/swapfile_4G.img tập tin 4194300 3180664 20

Lưu ý về phần cứng

Một trong những điểm hấp dẫn của Ubuntu (trong số những điểm khác) là được hỗ trợ liên tục và tăng tuổi thọ của phần cứng cũ hơn, bao gồm các máy có tổng bộ nhớ dưới mức trung bình. Không phải bộ nhớ ít một cách phi lý, thể hiện qua thực tế là các hệ điều hành khác có thể hoạt động tốt, chỉ dưới mức trung bình. Nhiều máy trong số này không thể nâng cấp được.

RAM 4 GB hoạt động tốt trong hầu hết các trường hợp sử dụng. Trong Ubuntu, trong Windows, trong macOS. Tuy nhiên, điều dường như chỉ hoạt động tốt trong Windows và macOS là khi bạn sử dụng hết dung lượng hoán đổi được phân bổ.

Nói tóm lại, ngay lập tức giải pháp làm cho Ubuntu chạy đàng hoàng trở thành "mua phần cứng mới", toàn bộ quan điểm chạy nó trở thành tranh luận đối với tất cả các máy này. Nâng cấp phần cứng nằm ngoài phạm vi của câu hỏi này.

Yêu cầu đối với phiên bản tiêu chuẩn của Ubuntu là 4 GB bộ nhớ.

Zanna avatar
lá cờ kr
Nhận xét đã được [chuyển sang trò chuyện](https://chat.stackexchange.com/rooms/126367/discussion-on-question-by-andreas-automatically-manage-swap-memory) (hy vọng sẽ tập trung trở lại vào câu hỏi của nó/làm thế nào có thể đạt được hiệu ứng "hoán đổi thích ứng" trên Ubuntu)
Điểm:1
lá cờ in

Nhân Linux ... không ổn về mặt hỗ trợ trao đổi. Swap là công dân hạng hai, theo quan điểm của nhiều nhà phát triển. Điều tôi muốn nói ở đây là thuật toán được sử dụng để đẩy và tìm nạp các trang khá đơn giản và có thể bị hỏng khi có nhiều trang được sử dụng thường xuyên.

Một giải pháp hợp lý có thể là sử dụng zswap. Điều này làm là đặt một đoạn bộ nhớ thành bộ nhớ nén, mà các trang được đẩy ra. Để thực hiện việc này, hãy chỉnh sửa các tham số khởi động kernel để thêm zswap.enabled=1 zswap.compressor=lz4 zswap.max_pool_percent=20 zswap.zpool=z3fold. Cách dễ nhất để làm điều này trên hệ thống Ubuntu là thêm nó vào /etc/default/grub tập tin, như là một phần của GRUB_CMDLINE_LINUX_DEFAULT Chìa khóa. Điều này sẽ tăng hiệu quả lượng dữ liệu có thể được lưu trữ trong RAM, giảm IO của đĩa và ngăn chặn tình trạng khóa máy.

Cuối cùng, bạn hỏi về việc có thêm không gian hoán đổi được tạo động. Linux hoàn toàn có khả năng thêm và xóa các tệp hoán đổi theo ý muốn, điều đó có nghĩa là một tập lệnh có thể kiểm tra tính khả dụng của hoán đổi và sau đó thêm các tệp hoán đổi nếu cần. Tuy nhiên, sẽ không có nhiều điểm nếu bạn thường xuyên sử dụng toàn bộ không gian hoán đổi.

Để tăng dung lượng hoán đổi (không cần phân vùng lại đĩa của bạn), bạn có thể sử dụng tệp hoán đổi. Để làm điều này, hãy chạy sudo dd if=/dev/zero of=/swapfile count=1M bs=1024 status=progress, sao chép 1 triệu khối 1024 byte (tức là 1 gigabyte) vào một tệp. Sau đó chạy sudo chmod 0600/tệp hoán đổisudo mkswap/tệp hoán đổi để chuẩn bị tệp để sử dụng làm trao đổi. Thêm nó vào /etc/fstab để nó luôn có sẵn, bằng cách thêm dòng sau vào tệp đó: /swapfile trao đổi trao đổi mặc định 0 0. Để kết thúc quá trình, hãy gọi Sudo hoán đổi -a, kích hoạt tệp hoán đổi.

Nguồn: Bản thân tôi sử dụng tệp hoán đổi và zswap, đồng thời tham khảo bash_histroy và Arch wiki của tôi để biết các lệnh.

lá cờ bd
Cảm ơn bạn cho một câu trả lời có liên quan.Tôi vừa thử phân bổ không gian hoán đổi động bằng cách sử dụng gói `swapspace` có sẵn, như được đề xuất trong nhận xét và nghĩ rằng bây giờ tôi nên xem qua đề xuất nén bộ nhớ của bạn. Tuy nhiên, hệ thống được đề cập đã có một quy trình gọi là `zswap-shrink` đang chạy -- không chắc liệu điều đó có nghĩa là zswap được kích hoạt theo bất kỳ cách nào hay không.
lá cờ bd
Một câu hỏi: có cách nào để tôi có thể xác nhận rằng tính năng nén bộ nhớ hoạt động sau khi bật tính năng này không? Nó ít nhất có vẻ hoàn toàn trong suốt, ví dụ như. màn hình hệ thống đi.
Calum McConnell avatar
lá cờ in
Dựa trên [câu trả lời này](https://unix.stackexchange.com/a/412760/450166), cách dễ nhất là âsudo grep -R /sys/kernel/debug/zswapâ. Grep được sử dụng vì các tệp trong cây /debug/ không hiển thị với người dùng, vì vậy việc mở rộng trình bao sẽ không hoạt động. Nó cũng thêm nhãn tệp bên cạnh mỗi số, làm cho nội dung thực sự có thể đọc được.
lá cờ bd
Cảm ơn bạn. Ý của bạn là bỏ qua biểu thức chính quy (`.`)? Không có nó, điều kỳ lạ sẽ xảy ra :) Với nó, tôi nhận được số liệu thống kê, tuy nhiên mọi thứ đều bằng không ngay cả ở mức sử dụng 93% RAM và 40% trao đổi. Không chắc làm thế nào để giải thích điều đó
Điểm:0
lá cờ bd

Như đã được đề cập trong một bình luận của @Terrance không gian hoán đổi là một giải pháp cho vấn đề này.

không gian hoán đổi cài đặt apt

Giờ đây, tất cả những gì bạn cần để kiểm soát hệ thống của mình là một số dung lượng lưu trữ miễn phí. thử nghiệm và làm.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.