Có rất nhiều điều hơn là chỉ ESXi trong câu hỏi ở đây,
- Mỗi VM sẽ tiêu thụ tối đa 4GB + "phí" được ghi lại ở đây . Điều này phụ thuộc vào vCPUs, + bộ nhớ được phân bổ. Tối thiểu mỗi VM sẽ sử dụng 4261,98 MB (4096 + 165,98)
- Bộ nhớ riêng của ESXi, đây là phần cứng phụ thuộc. Tùy chọn đơn giản nhất là xem xét việc sử dụng bộ nhớ hệ thống trong máy khách vSphere. Từ bộ nhớ, tôi nhớ nó là khoảng 1,3 GB, nhưng như đã nói là rất phụ thuộc vào phần cứng.
Phân bổ bộ nhớ & giải thích quá mức
Lưu ý rằng trình ảo hóa sẽ không phân bổ tất cả bộ nhớ đó trước , nó phụ thuộc vào việc sử dụng VM. Tuy nhiên, đáng để hiểu điều gì sẽ xảy ra nếu VM cố gắng phân bổ và sử dụng tất cả bộ nhớ được phân bổ cho chúng.
Tối đa máy chủ VM + của bạn sẽ cố gắng sử dụng sẽ xấp xỉ, khoảng cách 55 GB có thể thay đổi
- 1,3 GB được ESXi sử dụng
- 4261,98 MB * 13 được sử dụng bởi các máy ảo
Có một khía cạnh khác cần tính đến và đó là ngưỡng bộ nhớ. Theo mặc định, VMware sẽ đặt mục tiêu có 6% miễn phí (ngưỡng bộ nhớ cao). Vì vậy, bộ nhớ đã sử dụng 55 GB cần giảm xuống còn ~ 45 GB
Điều đó có nghĩa là máy chủ sẽ có xấp xỉ 10.500 MB bộ nhớ mà nó cần để lấy lại từ một nơi nào đó nếu máy ảo sử dụng bộ nhớ mà chúng đã được phân bổ. Có ba điều ESX làm để tìm thêm 10,5 GB.
Phương pháp phục hồi bộ nhớ
- Chia sẻ trang minh bạch
- Ký ức bong bóng
- Trao đổi Hypervisor
Bạn nên đọc và hiểu Hiểu Quản lý tài nguyên bộ nhớ trong Máy chủ VMware® ESX ™ .
Tùy thuộc vào một số lượng lớn các yếu tố, sự kết hợp của cả ba sẽ / có thể xảy ra trên một máy chủ đã cam kết. Bạn cần kiểm tra thông tin của mình và theo dõi các số liệu này để hiểu tác động của việc cam kết.
Một số quy tắc thô đáng để biết (tất cả trong bài viết trên và các nguồn khác).
- Chia sẻ trang trong suốt không xảy ra đối với các máy ảo sử dụng 2/4 MB trang. Khi bạn đã phân bổ 4096 MB cho máy ảo Windows của mình, họ sẽ sử dụng các trang 2/4 MB theo mặc định (phụ thuộc PAE). Chỉ dưới áp lực bộ nhớ, VMware sẽ phá vỡ các trang lớn xuống còn 4 KB trang có thể được chia sẻ. TPS dựa vào việc sử dụng các chu kỳ CPU nhàn rỗi và quét các trang bộ nhớ ở một tốc độ nhất định. Nó trả về bộ nhớ tương đối chậm (nghĩ một giờ thay vì vài phút). Vì vậy, một cơn bão khởi động sẽ có nghĩa là TPS sẽ không giúp bạn. Từ ba, điều này có tác động hiệu suất thấp nhất. Thêm từ tài liệu,
Trong hệ thống ảo hóa bộ nhớ được hỗ trợ bằng phần cứng (ví dụ: các hệ thống Hỗ trợ phần cứng Intel EPT và Hỗ trợ phần cứng AMD RVI [6]), ESX sẽ tự động sao lưu các trang vật lý của khách với các trang vật lý máy chủ lớn (vùng nhớ liền kề 2 MB thay vì 4KB cho các trang thông thường) hiệu suất tốt hơn do bỏ lỡ TLB ít hơn. Trong các hệ thống như vậy, ESX sẽ không chia sẻ các trang lớn đó vì: 1) xác suất tìm thấy hai trang lớn có nội dung giống hệt nhau là thấp và 2) chi phí thực hiện so sánh từng bit cho trang 2MB lớn hơn nhiều cho trang 4KB. Tuy nhiên, ESX vẫn tạo băm cho các trang 4KB trong mỗi trang lớn. Vì ESX sẽ không trao đổi các trang lớn, trong quá trình trao đổi máy chủ, trang lớn sẽ được chia thành các trang nhỏ để có thể sử dụng các giá trị băm được tạo trước này để chia sẻ các trang nhỏ trước khi chúng bị tráo đổi. Nói tóm lại, chúng tôi có thể không quan sát bất kỳ chia sẻ trang nào cho các hệ thống ảo hóa bộ nhớ được hỗ trợ phần cứng cho đến khi bộ nhớ máy chủ bị quá tải.
Các cú đá bóng tiếp theo (ngưỡng có thể định cấu hình, theo mặc định, đây là khi máy chủ lưu trữ không có bộ nhớ hơn 6% (giữa mức cao và phần mềm)). Hãy chắc chắn rằng bạn đã cài đặt trình điều khiển và coi chừng Java và các ứng dụng được quản lý nói chung. HĐH không có cái nhìn sâu sắc về những gì người dọn rác sẽ làm tiếp theo và cuối cùng nó sẽ đánh các trang đã được hoán đổi vào đĩa. Không có gì lạ khi các máy chủ chạy các ứng dụng java dành riêng để vô hiệu hóa trao đổi để đảm bảo điều đó không xảy ra. Hãy xem Trang 17 của Quản lý bộ nhớ vSphere, Specjbb
Trao đổi Hypervisor , từ ba phương thức là phương thức duy nhất đảm bảo "bộ nhớ" có sẵn cho nhà ảo thuật trong một thời gian định sẵn. Điều này sẽ được sử dụng nếu 1 & 2 không cung cấp đủ bộ nhớ để duy trì dưới ngưỡng cứng (mặc định là 2% bộ nhớ trống). Khi bạn đọc qua các số liệu hiệu suất (tự làm), bạn sẽ nhận ra đây là hiệu suất tồi tệ nhất trong ba. Cố gắng tránh nó bằng mọi giá vì tác động hiệu suất sẽ rất đáng chú ý trên gần như tất cả các ứng dụng tỷ lệ phần trăm chữ số
Có một trạng thái nữa để nhận biết mức thấp (theo mặc định là 1%). Từ hướng dẫn này có thể cắt giảm đáng kể hiệu suất của bạn,
Trong một trường hợp hiếm hoi khi bộ nhớ trống của máy chủ giảm xuống dưới ngưỡng thấp, bộ ảo hóa tiếp tục lấy lại bộ nhớ thông qua trao đổi và nén bộ nhớ, đồng thời chặn việc thực thi tất cả các máy ảo tiêu thụ nhiều bộ nhớ hơn so với phân bổ bộ nhớ đích của chúng.
Tóm lược
Điểm mấu chốt của sự căng thẳng là không thể dự đoán từ các trang trắng về việc môi trường của bạn sẽ hoạt động như thế nào.
- TPS có thể cung cấp cho bạn bao nhiêu? (Phụ thuộc vào mức độ tương tự máy ảo của bạn với HĐH, Gói dịch vụ và các ứng dụng đang chạy)
- Máy ảo của bạn phân bổ bộ nhớ nhanh như thế nào? Họ càng làm nhanh, bạn càng có khả năng nhảy đến ngưỡng tiếp theo trước khi sơ đồ phục hồi bộ nhớ ít tác động thành công trong việc giữ bạn ở ngưỡng hiện tại.
- Tùy thuộc vào ứng dụng, mỗi sơ đồ khai hoang bộ nhớ sẽ có tác động rất khác nhau.
Kiểm tra các kịch bản trung bình của bạn, bạn là kịch bản phân vị 95% và cuối cùng là tối đa để hiểu môi trường của bạn sẽ chạy như thế nào.
Chỉnh sửa 1
Đáng nói hơn là với vSphere 4 (hoặc 4.1 không thể nhớ lại), giờ đây có thể đặt trao đổi hypanneror trên đĩa cục bộ nhưng vẫn vmotion VM. Nếu bạn đang sử dụng bộ nhớ chia sẻ, tôi thực sự khuyên bạn nên di chuyển tệp hoán đổi hypanneror sang đĩa cục bộ theo mặc định. Điều này đảm bảo rằng khi một máy chủ chịu áp lực bộ nhớ nghiêm trọng, nó sẽ không ảnh hưởng đến tất cả các máy chủ / VM vSphere khác trên cùng một bộ lưu trữ được chia sẻ.
Chỉnh sửa 2
Dựa trên các nhận xét, thực tế là ESX không phân bổ bộ nhớ trả trước in đậm ...
Chỉnh sửa 3
Giải thích thêm một chút về ngưỡng bộ nhớ.