我對 Windows Server 2012 R2 資料中心上的 R 和 RStudio 有疑問。
我直接訪問伺服器,伺服器有128GB RAM。但是當我執行 R 腳本時,任務管理器向我顯示,R 僅使用了最多 2 MB 的 RAM,總共使用了整個系統 RAM 的 4%。
我安裝了目前的 R 版本,並在 RStudio 中使用 64 系統選項。當我檢查我的記憶時,memory.limit()
R 說,我有1.759219e+13
記憶,這是不可能的。我無法更改記憶體限製或其他任何內容。
每當我直接透過 Rgui 存取 R 並輸入行時,R 都會告訴我以下內容
> memory.limit()
[1] 131023
> memory.size()
[1] 31.5
每當我在筆記型電腦上使用 R 時,它都會使用大約 5GB 的 RAM。所以我想知道這裡發生了什麼。
問題:
1.)我可以在Windows 2012 Server上使用R和RStudio嗎(我覺得應該沒問題,儘管我在網路上沒有找到很多相關資訊)
2.) 如何為 R 進程提供更多內存,以便計算速度更快?
非常感謝您的幫忙。由於這是我的第一個問題,如果您需要任何其他信息,請告訴我。
編輯
也許這有助於解釋我的問題是什麼。為什麼 R 進程不能獲得更多的權力?
資源監視器和任務管理器:
答案1
所以我想出了一些事情並想與大家分享。
首先,有關錯誤記憶體的資訊「memory.limit()
R 說,我有1.759219e+13
」是由於當前的 R 建置造成的。我降級到以前的版本並沒有收到錯誤。
其次,在伺服器上安裝 RStudio 桌面版本是完全可以的。唯一的缺點是,您必須直接/使用遠端桌面控制登入伺服器。除此之外,它可以作為具有更好硬體的常規桌面。
第三,本質上,R 被設計為每個 R 實例僅使用一個核心。顯然,您可以使用特殊的 R 函數進行同時計算 ( parallel
),或只啟動多個 R 實例(開啟多個 R 會話),因此每個會話都使用不同的核心。打開不同的 R 實例後,我可以使用所有 RAM。你只需要分解你的程式碼。
我發布這個答案是為了防止其他人遇到這些問題。我希望這是發布答案而不是編輯我的帖子的正確方式。請讓我知道我是否應該糾正這個問題。
謝謝