Windows Server 2012 R2 Datacenter 上の R と RStudio に関して質問があります。
サーバーに直接アクセスし、サーバーには 128 GB の 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 を使用するたびに、約 5 GB の RAM が使用されます。それで、何が起こっているのか疑問に思っています。
質問:
1.) Windows 2012 Server で R と RStudio を使用できますか (インターネット上でこれに関する情報はあまり見つかりませんでしたが、問題ないと思います)
2.) 計算を高速化するために、R プロセスにさらに多くのメモリを提供するにはどうすればよいですか?
ご協力ありがとうございます。初めての質問ですので、追加情報が必要であればお知らせください。
編集
おそらく、これが私の問題を説明するのに役立つでしょう。なぜ R プロセスはもっとパワーを得られないのでしょうか?
リソースモニターとタスクマネージャー:
答え1
そこで私はいくつかのことを理解したので、それを皆さんと共有したいと思いました。
memory.limit()
まず、「 R によると、メモリが間違っている」という情報は、1.759219e+13
現在の R ビルドによるものです。以前のバージョンにダウングレードしたところ、エラーは発生しなくなりました。
次に、RStudio デスクトップ バージョンをサーバーにインストールしてもまったく問題ありません。唯一の欠点は、サーバーに直接またはリモート デスクトップ コントロールでサインインする必要があることです。それ以外は、より優れたハードウェアを備えた通常のデスクトップとして機能します。
3 番目に、R は本来、各 R インスタンスにつき 1 つのコアのみを使用するように設計されています。どうやら、同時計算には特別な R 関数を使用するか ( parallel
)、複数の R インスタンスを起動して (複数の R セッションを開いて)、各セッションが異なるコアを使用するようにすることができます。異なる R インスタンスを開くと、すべての RAM を使用できます。コードを細分化する必要があります。
他にも同じ問題を抱えている人がいるかもしれないので、この回答を投稿しました。これが回答を投稿する正しい方法であり、投稿を編集するものではないことを願っています。これを修正する必要がある場合はお知らせください。
ありがとう