Điểm:-1

Kích hoạt tính hoán đổi theo cách thủ công?

lá cờ pk

Tôi đang chơi với ZFS trên Proxmox và nhận thấy rằng tính hoán đổi dường như không bao giờ bắt đầu. Giá trị tính hoán đổi hiện được đặt thành 50 nhưng không bao giờ hoán đổi trừ khi tôi đạt mức sử dụng RAM 100% như thể tính hoán đổi được đặt thành 0.

Làm cách nào tôi có thể buộc chạy theo cách thủ công? Cách duy nhất hiện tại tôi có thể làm điều này là cài đặt một cái gì đó như https://github.com/julman99/eatmemory để ăn bộ nhớ hệ thống vượt quá 100%

mèo /proc/meminfo

MemTotal: 528099208 kB
MemFree: 33819676 kB
Bộ nhớ có sẵn: 30995036 kB
Bộ đệm: 65056 kB
Bộ nhớ cache: 368868 kB
SwapCached: 4978016 kB
Đang hoạt động: 383870632 kB
Không hoạt động: 71255296 kB
Đang hoạt động (không hoạt động): 383654260 kB
Không hoạt động (không hoạt động): 71140760 kB
Hoạt động (tệp): 216372 kB
Không hoạt động (tệp): 114536 kB
Không thể tránh khỏi: 160824 kB
Đã khóa: 160824 kB
SwapTotal: 1875374420 kB
SwapMiễn phí: 1576041808 kB
Bẩn: 128 kB
Viết lại: 0 kB
Trang Anon: 450155280 kB
Đã ánh xạ: 185764 kB
Bộ nhớ: 92400 kB
KCó thể nhận lại: 1316628 kB
Tấm: 7796824 kB
SCó thể nhận lại: 1316628 kB
Yêu cầu bồi thường: 6480196 kB
KernelStack: 49616 kB
Bảng trang: 1746424 kB
NFS_Không ổn định: 0 kB
Thoát: 0 kB
Ghi lạiTmp: 0 kB
Giới hạn cam kết: 2139350296 kB
Đã cam kết_AS: 1255929500 kB
VmallocTổng: 34359738367 kB
VmallocĐã sử dụng: 6192420 kB
VmallocChunk: 0 kB
Bộ xử lý: 1302144 kB
Phần cứng bị hỏng: 0 kB
Trang AnonHuge: 176281600 kB
ShmemHugeTrang: 0 kB
ShmemPmdMapped: 0 kB
FileHugePages: 0 kB
TệpPmdMapped: 0 kB
CmaTổng: 0 kB
CmaMiễn phí: 0 kB
HugePages_Total: 72
HugePages_Free: 72
HugePages_Rsvd: 0
HugePages_Surp: 0
Kích thước trang lớn: 2048 kB
Hugetlb: 147456 kB
DirectMap4k: 49376056 kB
DirectMap2M: 406616064 kB
DirectMap1G: 81788928 kB
Matthew Ife avatar
lá cờ jo
Tôi nghi ngờ những kỳ vọng của bạn về những gì swappiness làm là không chính xác. Bạn đang hướng tới mục tiêu đạt được điều gì?
djdomi avatar
lá cờ za
đặt tính trao đổi thành 100 nhưng đảm bảo rằng bạn có ssd hoặc nvme;) Linux không sử dụng tính năng trao đổi nếu nó có đủ ram, không phải cửa sổ luôn sử dụng các tệp trang
Toodarday avatar
lá cờ pk
@MatthewIfe Về cơ bản, tôi muốn luôn có một lượng RAM nhất định trống. Máy của tôi có RAM 256GB, tôi đang cố gắng buộc bộ nhớ hoán đổi các trang để đạt được điều đó nhưng theo cách thủ công. Tôi cũng đã thử ```vm.zone_reclaim_mode=1``` mà không cần trợ giúp.
Toodarday avatar
lá cờ pk
Ổ đĩa @djdomi NVMe được dành riêng để trao đổi.Đây là nút Proxmox chạy nhiều máy ảo linux/windows (KVM).
Toodarday avatar
lá cờ pk
Để thêm hệ thống hiện tại của tôi đang sử dụng 230/256GB RAM mà chưa sử dụng trao đổi nào.
djdomi avatar
lá cờ za
@toodardwy và vấn đề bạn đang gặp phải là gì? Không cam kết quá mức, không sử dụng hoán đổi.
Matthew Ife avatar
lá cờ jo
Không có lý do gì để không sử dụng bộ nhớ nếu nó miễn phí và bạn không đưa ra lý do tại sao nó phải miễn phí/bạn muốn sử dụng bộ nhớ để làm gì.
Toodarday avatar
lá cờ pk
@MatthewIfe Lý do là nếu tôi tạo một máy ảo khác khi RAM ở mức 99% thì nó sẽ không khởi động được. Tôi cần luôn có ít nhất 10% RAM trống. Có cách nào khác để đạt được điều này không? Tôi đã hy vọng sẽ có một lệnh dễ dàng để chạy
Matthew Ife avatar
lá cờ jo
@Toodarday Vui lòng cung cấp một ví dụ `/proc/memfino` khi hệ thống đang sử dụng hết bộ nhớ. Tôi có ấn tượng rằng bạn đang xem các trang được lưu trong bộ nhớ đệm và nếu có thể, hãy cung cấp ví dụ về hệ thống không khởi động được do bộ nhớ đầy.
Toodarday avatar
lá cờ pk
Đã thêm đầu ra các nút khác ở trên
Điểm:0
lá cờ cn

swappiness không bắt buộc sử dụng không gian hoán đổi. Nó cũng sẽ không cứu bạn khỏi việc không có đủ bộ nhớ.

Giá trị cao hơn của dễ thay đổi khuyến khích lấy lại các trang ẩn danh, không chỉ bộ nhớ cache của trang. Nhưng điều này không làm được gì nhiều cho ZFS trên Linux, mà không sử dụng bộ đệm trang của Linux.

Về cơ bản, tôi muốn luôn có một lượng RAM trống nhất định. ... Đến thêm hiện tại hệ thống của tôi đang sử dụng 230/256GB RAM mà không cần hoán đổi dùng chưa. ... nếu tôi tạo một máy ảo khác khi RAM ở mức 99% nó sẽ không khởi động.

Thực hiện một số kế hoạch dung lượng để không đăng ký quá mức bộ nhớ. Ít lệnh ma thuật hơn để yêu cầu trình ảo hóa giữ bộ nhớ trống xung quanh và kỷ luật của bạn là không bắt đầu nhiều khách hơn mức bạn có tài nguyên.

230/256GB của bạn đã được sử dụng 90%, cao hơn nhiều so với mức này có thể dẫn đến áp lực bộ nhớ, không tốt cho hiệu suất. Điều này có thể yêu cầu giới hạn bộ nhớ khách, 56 x 4 GB khách, để tạo nên một số con số. Liệu vài chục GB còn lại có đủ để chạy nhân của trình ảo hóa hay không và vẫn còn một số dự trữ hay không là điều bạn có thể khám phá trong quá trình thử nghiệm.

Chỉnh sửa: Từ meminfo, máy chủ lưu trữ 500 GB của bạn đang chịu một số áp lực về bộ nhớ và đang hoán đổi.

  • MemAvailable ở mức 5,8% trên tổng số là thấp. 29 GB để hoạt động trên máy chủ 500 GB không nhiều lắm.
  • SwapTotal trừ SwapFree hiển thị 285 GB sử dụng dung lượng hoán đổi. Tổng dung lượng hoán đổi 1788 GB có nghĩa là nó sẽ không hết trong thời gian ngắn. Hãy nhớ rằng bộ lưu trữ lâu dài nhất chậm hơn nhiều so với DRAM.
  • 0,4 GB Cached là con số tuyệt đối khá thấp. Phù hợp với việc sử dụng ZFS trên Linux không sử dụng bộ đệm trang Linux VFS thông thường.Kết quả là, khả năng điều chỉnh hoán đổi hầu như không làm được gì trong môi trường này. Nếu bạn xóa bộ đệm theo cách thủ công, đừng làm vậy, điều đó có thể ảnh hưởng đến hiệu suất.

Hoán đổi theo tập hợp các trang vào thời điểm cần thiết. Máy chủ sẽ không đột ngột giải phóng toàn bộ 100 GB khách khi nhu cầu bộ nhớ của khách thấp hơn. Điều đó sẽ rất tốn kém.

Tôi nghi ngờ về việc đăng ký quá mức bộ nhớ nói chung và bộ nhớ phình to nói riêng và không khuyến nghị chúng. Khuyến khích bộ nhớ thấp có thể gây rủi ro cho hiệu suất, vì trong trường hợp xấu nhất, việc thu hồi sẽ gây ra độ trễ và có thể khiến kẻ giết người OOM tức giận. Xem các nỗ lực của bạn để bắt đầu khách ở mức sử dụng cao, vượt quá một điểm nhất định, hạt nhân sẽ không cấp phân bổ bộ nhớ.

Xác nhận rằng máy chủ có sẵn > 100 GB RAM (không tính trao đổi) trước khi bắt đầu một khách 100 GB. Tắt máy khách trước khi giảm dung lượng bộ nhớ của họ. Không đăng ký quá mức sẽ đắt hơn về chi phí bộ nhớ, nhưng có hiệu suất ổn định hơn và dễ bảo trì hơn.

Toodarday avatar
lá cờ pk
Vấn đề tôi gặp phải là đây https://i.gyazo.com/83a5033c9b74c8319227d804862f0976.png https://i.gyazo.com/cb1a8f56f44f39d0a3b0c7be54188a20.png Máy ảo này giảm bộ đệm mỗi giờ nhưng bạn có thể thấy hệ thống đang dự trữ 15GB dung lượng ĐẬP. Cách thức hoạt động của proxmox nếu tôi khởi động một máy ảo, phân bổ cho nó 100 GB RAM, sử dụng tất cả, trả về dưới 1 GB và giảm bộ đệm trong khi trong GUI, nó sẽ hiển thị ít hơn 1 GB RAM hiện đang được sử dụng, hệ thống sẽ dự trữ toàn bộ 100 GB cho đến khi cấp nguồn xuống. Tôi cần trao đổi nó ra. Ballooning không phải là một lựa chọn cho tôi.
John Mahowald avatar
lá cờ cn
Xem chỉnh sửa của tôi. Tôi nghi ngờ rằng bộ nhớ đó rất dễ lấy lại, không phải không tắt nguồn của khách và giảm kích thước của nó.

Đă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.