Đây chỉ là kỹ thuật có thể. Các trang bộ nhớ có thể bị khóa trong RAM với hàm VirtualLock() API. Vấn đề là, yêu cầu cung cấp địa chỉ của (các) trang bạn muốn khóa. Bạn không thể lấy địa chỉ này theo bất kỳ cách nào được ghi lại từ bộ thu gom rác. Nó cũng không hứa hẹn rằng, cùng một địa chỉ cho, ví dụ, heap gen # 0 sẽ lặp lại được. Đối với một, kích thước của đống đó là năng động, thường nằm trong khoảng từ 2 đến 8 megabyte, tùy thuộc vào mẫu phân bổ của chương trình.
Chỉ cần khóa ngẫu nhiên một phạm vi rộng lớn với hy vọng rằng bạn sẽ bắt được hầu hết trong số chúng cũng không hoạt động. Quá trình nhận hạn ngạch các trang có thể khóa. Nó không phải là rất lớn, trên tất cả bởi vì nó là như vậy gây bất ổn cho hoạt động của máy. Rồng sống ở đây.
Nguồn
2011-01-13 17:08:05
Tại sao bạn muốn ngăn điều này? =) – Jens
Bạn có nghĩa là ngoài việc sử dụng nó? Thông thường lo lắng về loại điều đó là trái với hệ điều hành. Đơn giản chỉ cần bằng cách sử dụng nó, bạn làm giảm cơ hội của nó được đặt trong không gian trao đổi của bạn. Nếu bạn chưa sử dụng nó gần đây, rất có thể là ok để đặt nó trên đĩa. Bạn có thấy các đối tượng thường xuyên được sử dụng đang được đặt trên đĩa không? – Crisfole
Tôi ngửi thấy một tối ưu hóa vi mô. Làm thế nào để bạn biết đây là một vấn đề cho bạn? –