在 Windows Server 2012R2 上使用 R 不使用更多內存

在 Windows Server 2012R2 上使用 R 不使用更多內存

我對 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。你只需要分解你的程式碼。

我發布這個答案是為了防止其他人遇到這些問題。我希望這是發布答案而不是編輯我的帖子的正確方式。請讓我知道我是否應該糾正這個問題。

謝謝

相關內容