Windows Server 2012 R2 Datacenter의 R 및 RStudio에 관해 질문이 있습니다.
서버에 직접 액세스하며 서버에는 128GB RAM이 있습니다. 그러나 R 스크립트를 실행하면 작업 관리자에 R이 최대 2MB의 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 Desktop-Version을 서버에 설치하는 것은 완벽합니다. 유일한 단점은 원격 데스크톱 제어를 사용하여 서버에 직접 로그인해야 한다는 것입니다. 그 외에는 더 나은 하드웨어를 갖춘 일반 데스크탑으로 작동합니다.
셋째, 본질적으로 R은 각 R 인스턴스에 하나의 코어만 사용하도록 설계되었습니다. 분명히 동시 계산을 위해 특수 R 함수를 사용하거나( parallel
) 여러 R 인스턴스를 시작할 수 있으므로(여러 R 세션이 열려 있음) 각 세션은 서로 다른 코어를 사용합니다. 다른 R 인스턴스가 열려 있으면 모든 RAM을 사용할 수 있습니다. 코드를 분해하기 만하면됩니다.
다른 사람이 이러한 문제를 겪을 경우를 대비하여 이 답변을 게시했습니다. 내 게시물을 편집하지 않고 답변을 게시하는 것이 올바른 방법이기를 바랍니다. 이 문제를 수정해야 하는지 알려주시기 바랍니다.
감사해요