반응형
한줄 요약 : 주소창에
방법 A:
방법 B:
chrome://discards
입력 → 현재 탭 검색 → "Auto Discardable" 옵션을 꺼줍니다.
2025년 09월 07일
크롬기반 브라우저에서 RStudio 서버를 쓰는데 창이 내려가면(활성화가 안 되면) 실행하던 코드 동작이 멈춤. 브라우저 메모리 절감을 위해 freeze되는가? 이걸 막는 방법은?
좋은 질문이에요 👍
말씀하신 현상은 RStudio Server 자체 문제라기보다는, 크롬(또는 크로미움 기반 브라우저)의 탭 메모리 절약 정책 때문에 발생하는 경우가 많습니다.
왜 멈추는가?
- 최근 크롬/엣지/브레이브 등 크로미움 브라우저는 비활성 탭 절전(Tab Discarding / Sleeping Tabs) 기능을 사용합니다.
- CPU/메모리를 줄이기 위해 오랫동안 포커스되지 않은 탭을 “freeze” 상태로 바꾸는데, 이 경우 웹소켓 연결(예: RStudio Server의 세션)이 끊기거나 코드 실행이 중단된 것처럼 보일 수 있습니다.
- 특히 R 코드가 브라우저에서 직접 돌아가는 게 아니라 서버에서 돌아가는데도, 세션 관리가 웹소켓 기반이라 탭이 절전되면 연결 유지가 안 됩니다.
해결 방법
-
크롬 탭 절전 해제
- 주소창에
chrome://discards
입력 → 현재 탭 검색 → "Auto Discardable" 옵션을 꺼줍니다. - 또는 설정에서:
→ 꺼버리거나, RStudio Server 도메인을 예외로 등록.설정 > 성능 > 메모리 절약 모드
- 주소창에
-
Keep-alive 확장 프로그램 사용
- "Auto Refresh" 같은 확장 프로그램으로 주기적으로 탭에 신호를 보내 절전을 막을 수 있습니다.
- 예: 5분마다 빈 요청 보내기.
-
브라우저 말고 전용 클라이언트 사용
- RStudio Server는 웹브라우저 기반이지만,
RStudio Desktop (Pro)
같은 버전에서 원격 연결 기능을 쓰면 브라우저 절전 문제를 피할 수 있습니다. - 또는 VSCode + R 확장팩으로 원격 서버에 붙는 방법도 안정적.
- RStudio Server는 웹브라우저 기반이지만,
-
tmux / screen + R 콘솔併用
- 서버에서 R을 꼭 끊기지 않고 돌려야 한다면, RStudio Server가 아닌
tmux
나screen
세션에서 R을 돌려두고, RStudio는 UI로만 쓰는 것도 방법입니다. - 이러면 브라우저가 절전돼도 백엔드 연산은 그대로 진행됩니다.
- 서버에서 R을 꼭 끊기지 않고 돌려야 한다면, RStudio Server가 아닌
👉 정리:
브라우저에서 세션이 멈추는 건 크롬의 비활성 탭 절전 기능 때문일 가능성이 큽니다.
- 빠른 해결:
chrome://discards
에서 RStudio Server 탭 절전 해제. - 근본 해결: 서버에서
tmux
/screen
등으로 백그라운드에서 R을 실행하거나, 브라우저 대신 다른 클라이언트 사용.
원하시는 게 “브라우저 탭 절전만 막고 싶다”인지, 아니면 “코드가 항상 서버에서 돌아가게 보장”인지에 따라 방법을 달리 안내드릴 수 있는데요. 어느 쪽을 원하시나요?
둘다
좋습니다 👍 그럼 두 방향(1. 브라우저 절전 방지 / 2. 서버에서 항상 돌아가게 보장)을 각각 정리해 드릴게요.
1️⃣ 브라우저 절전 방지 (RStudio Server 탭이 멈추지 않도록)
크롬/엣지/브레이브 공통
- 주소창 →
chrome://settings/performance
- 메모리 절약 모드를 끄거나,
RStudio Server
접속 URL을 예외 사이트로 추가하세요. -
개별 탭에서 직접 확인:
chrome://discards
- RStudio Server 탭 찾기 →
Auto Discardable
을false
로 바꿉니다.
- RStudio Server 탭 찾기 →
보조 옵션
- Keep Alive 확장프로그램:
예: Auto Refresh, Tab Reloader → 5~10분마다 탭에 신호 보내기. - Firefox 사용:
Firefox는 기본적으로 탭을 강제로 freeze하지 않아서 더 안정적입니다.
2️⃣ 서버에서 항상 돌아가게 보장 (브라우저 꺼져도 코드 실행 유지)
RStudio Server는 세션(WebSocket 연결)이 끊기면 UI에서 실행이 멈춘 것처럼 보입니다.
하지만 서버에서 직접 돌리면 브라우저와 무관하게 유지할 수 있습니다.
방법 A: tmux
/ screen
# 서버에 접속
ssh user@server
# tmux 세션 시작
tmux new -s rwork
# R 실행
R
# 필요한 코드 실행 → 브라우저 닫아도 계속 실행됨
Ctrl+b d
→ 세션 분리(detach)- 다시 접속할 때:
tmux attach -t rwork
방법 B: nohup
/ Rscript
nohup Rscript long_job.R > job.log 2>&1 &
- 서버 백그라운드에서 실행 → 브라우저와 독립적
- 로그는
job.log
로 확인 가능.
방법 C: RStudio Server + Job 기능
- RStudio IDE 자체에서 Jobs 기능 사용 (
Console → Run as Job
) - 이 경우 RStudio 세션과 분리되어 서버에서 계속 실행됨.
방법 D: Slurm / PBS 같은 잡 스케줄러
- HPC 환경이면 잡 큐에 제출해서 관리하는 게 가장 안정적.
✅ 정리
- 단기 해결: 브라우저 탭 절전 해제 (
chrome://settings/performance
,chrome://discards
) - 근본 해결: 서버 측에서
tmux
/screen
/nohup
/ RStudio Job 기능을 활용 → 브라우저를 닫아도 연산 계속 진행
반응형
'뉴스-재테크-생활' 카테고리의 다른 글
[문제해결] 로지텍 K375s 블루투스 키보드 페어링 안 될 때 조치 방법 (0) | 2025.05.07 |
---|---|
트럼프의 관세폭탄이 몰고온 한국 증시 블랙먼데이: 원인과 대응방안 (0) | 2025.04.07 |
댓글