RAM hoạt động như thế nào trong một máy ảo?


1

Tôi đã thiết lập Máy ảo Linux với VBox và hệ điều hành máy chủ là Windows. Tôi muốn hiểu cách RAM hoạt động trên máy ảo.

  • Liệu máy chủ có phân bổ khách được sử dụng RAM như một dịch vụ không?
  • hoặc, RAM được phân bổ trực tiếp bởi Khách?

Nói tóm lại, máy chủ lưu trữ xem khách như một ứng dụng đơn lẻ hay hệ thống khách trực tiếp gán nhu cầu của nó cho phần cứng? Tôi chưa nghiên cứu về khoa học máy tính hoặc một cái gì đó, vì vậy tôi nhận thức vấn đề như sau:

  • Nếu tôi thực hiện một phép tính duy nhất trong hệ thống khách và hệ thống máy chủ nhận thấy khách là một dịch vụ duy nhất, thì phép tính đó sẽ là một trong nhiều dịch vụ mà khách tạo ra tại thời điểm đó và tính toán của tôi sẽ bị chậm trễ.
  • Nếu khách kết nối trực tiếp với RAM, thì các dịch vụ khác đã được phân bổ trong RAM và chúng dao động và dịch vụ mới sẽ được chỉ định nhanh hơn.

4
RAM được phân bổ cho chương trình hypanneror. RAM không thể tự phân bổ mà hoàn toàn không có ý nghĩa. Làm thế nào các trình siêu giám sát hoạt động tùy thuộc vào loại chúng và loại trình ảo hóa mà bạn đang nói đến. Trong trường hợp này, một hộp đã ghi lại cách chúng hoạt động và loại máy ảo hóa chúng cũng được ghi lại
Ramhound

Câu trả lời:


2

Thứ nhất: Việc phân bổ RAM luôn nằm dưới sự kiểm soát cuối cùng của hệ điều hành máy chủ.

Ngoài ra, nó phụ thuộc.

Với một trình ảo hóa đơn giản, bạn chỉ cần cho trình ảo hóa biết mỗi máy ảo có bao nhiêu RAM, số tiền đó được khấu trừ vào RAM có sẵn trên hệ thống máy chủ của bạn khi VM khởi động và được "trình sử dụng" sử dụng miễn là VM đang chạy. HĐH chạy trong VM hoạt động như mọi khi, luôn luôn phân bổ RAM cho các tiến trình và sử dụng HĐH. Microsoft "Virtual PC" cũ, được sử dụng rộng rãi để chạy "Chế độ XP" trong Windows 7, hoạt động theo cách đó. VirtualBox cũng vậy. Trong cả hai, nếu bạn định cấu hình VM cho RAM 1 GB và khởi động nó, máy chủ của bạn đột nhiên có RAM ít hơn 1 GB "khả dụng". Việc sử dụng RAM thường không hiệu quả lắm, nhưng thực hiện đơn giản.

Với một trình ảo hóa phức tạp hơn, số tiền bạn phân bổ cho VM chỉ đơn giản là giới hạn trên. Hệ điều hành khách thấy rằng nhiều RAM là "tổng cộng" nhưng đằng sau hậu trường một số hoặc thậm chí hầu hết những gì khách nghĩ là RAM có thể là ảo khi có liên quan đến máy chủ. Điều này đặc biệt đúng với những gì Windows gọi là RAM "Miễn phí" hoặc "Không" trong khách - vì nó không có nội dung quan tâm, nên không cần lưu trữ ở bất cứ đâu. Nhưng ngay cả RAM mà khách xem là "đang sử dụng" cũng có thể là ảo trong máy chủ, với nội dung trong tệp trang hoặc tệp được ánh xạ.

HĐH khách tiếp tục xử lý RAM như mọi khi, nhưng nếu HĐH khách đề cập đến một số RAM chưa thực sự có đó, thì trình ảo hóa có thể phân bổ RAM thực tế hơn cho khách. (Nói cách khác, tham chiếu bộ nhớ dường như hoạt động mà không có lỗi trang trong máy khách có thể phát sinh lỗi trang trong máy chủ.) Trong tổng số RAM khả dụng và giới hạn được định cấu hình, bộ ảo hóa sẽ điều chỉnh lượng RAM "trong" HĐH khách để cố gắng giữ tỷ lệ lỗi trang của nó ở máy chủ thấp.

Điều này thường được gọi là "cung cấp mỏng". Việc triển khai trong trình ảo hóa sẽ phức tạp hơn nhưng kết quả là sử dụng RAM của máy chủ hiệu quả hơn.


Có một kỹ thuật khác gọi là tạo bóng bộ nhớ được hỗ trợ bởi cả Virtualbox và vmware cho một số HĐH khách, điều này cũng cho phép khách thay đổi dung lượng bộ nhớ, nhưng đó không phải là việc cung cấp mỏng
phuclv 23/03/18

Như tôi đã thấy, "khinh khí cầu" là một cơ chế là một phần của việc cung cấp mỏng. Nó cho phép HV dễ dàng lấy RAM ra khỏi khách hoặc mở rộng lượng RAM được phân bổ cho khách. "Ballooning" đề cập đến phương pháp được sử dụng: phân bổ và tham chiếu toàn bộ bộ nhớ ảo, dẫn đến việc phân bổ RAM riêng - sau đó HV có thể "di chuyển" RAM đó sang phía bên kia. Nếu bạn không thực hiện việc cung cấp mỏng, tức là nếu tất cả RAM được phép cho khách thực sự được phân bổ cho khách khi khách bắt đầu, thì "khinh khí cầu" sẽ hoàn toàn vô nghĩa.
Jamie Hanrahan
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.