Tôi muốn tăng (hoặc giảm) dung lượng bộ nhớ có sẵn cho R. Các phương pháp để đạt được điều này là gì?
Tôi muốn tăng (hoặc giảm) dung lượng bộ nhớ có sẵn cho R. Các phương pháp để đạt được điều này là gì?
Câu trả lời:
Từ:
http://gking.harvard.edu/zelig/docs/How_do_I2.html ( gương )
Người dùng Windows có thể gặp lỗi R đã hết bộ nhớ.
Nếu bạn đã cài đặt R rồi và sau đó cài thêm RAM, bạn có thể phải cài đặt lại R để tận dụng dung lượng bổ sung.
Bạn cũng có thể đặt dung lượng bộ nhớ khả dụng theo cách thủ công. Đóng R, sau đó nhấp chuột phải vào biểu tượng chương trình R của bạn (biểu tượng trên màn hình nền hoặc trong thư mục chương trình của bạn). Chọn `` Thuộc tính '', rồi chọn tab `` Lối tắt ''. Tìm trường `` Mục tiêu '' và sau dấu ngoặc kép xung quanh vị trí của bộ điều hành R, hãy thêm
--max-mem-size = 500M
như trong hình bên dưới. Bạn có thể tăng giá trị này lên đến 2GB hoặc dung lượng RAM vật lý tối đa mà bạn đã cài đặt.
Nếu bạn gặp lỗi R không thể phân bổ vectơ có độ dài x, hãy đóng R và thêm dòng sau vào trường `` Mục tiêu '':
--max-vsize = 500M
hoặc khi thích hợp. Bạn luôn có thể kiểm tra xem R còn trống bao nhiêu bộ nhớ bằng cách nhập vào dấu nhắc R
memory.limit()
cung cấp cho bạn dung lượng bộ nhớ khả dụng tính bằng MB. Trong các phiên bản trước của R bạn cần sử dụng: round(memory.limit()/2^20, 2)
.
Sử dụng memory.limit()
. Bạn có thể tăng giá trị mặc định bằng lệnh này memory.limit(size=2500)
, với kích thước tính bằng MB. Bạn cần phải sử dụng 64-bit để tận dụng lợi thế của điều này.
Một gợi ý khác là sử dụng các đối tượng hiệu quả về bộ nhớ nếu có thể: ví dụ: sử dụng ma trận thay vì data.frame.
Microsoft Windows chấp nhận bất kỳ yêu cầu bộ nhớ nào từ các quy trình nếu nó có thể được thực hiện.
Không có giới hạn cho bộ nhớ có thể được cung cấp cho một quá trình, ngoại trừ Kích thước bộ nhớ ảo.
Dung lượng bộ nhớ ảo là 4GB trong hệ thống 32bit cho bất kỳ quy trình nào, bất kể bạn đang chạy bao nhiêu ứng dụng. Bất kỳ quy trình nào cũng có thể cấp phát bộ nhớ lên đến 4GB trong hệ thống 32bit.
Trên thực tế, Windows tự động phân bổ một số phần của bộ nhớ được cấp phát từ RAM hoặc tệp trang tùy thuộc vào yêu cầu quy trình và cơ chế tệp hoán trang.
Nhưng một giới hạn khác là kích thước của tệp hoán trang. Nếu bạn có một tệp phân trang nhỏ, bạn không thể cấp phát các bộ nhớ lớn. Bạn có thể tăng kích thước của tệp hoán trang theo Microsoft để có thêm dung lượng bộ nhớ.
Để tăng dung lượng bộ nhớ được phân bổ cho R, bạn có thể sử dụng memory.limit
memory.limit(size = ...)
Hoặc là
memory.size(max = ...)
Về các đối số