본문 바로가기
뉴스-재테크-생활

Chrome(크로미움 브라우저 공통) 탭 절전모드/멈춤 방지 방법 = chrome://discards

by 프롭테크 2025. 9. 7.
반응형
한줄 요약 : 주소창에 chrome://discards 입력 → 현재 탭 검색 → "Auto Discardable" 옵션을 꺼줍니다.

크롬기반 브라우저에서 RStudio 서버를 쓰는데 창이 내려가면(활성화가 안 되면) 실행하던 코드 동작이 멈춤. 브라우저 메모리 절감을 위해 freeze되는가? 이걸 막는 방법은?

좋은 질문이에요 👍

말씀하신 현상은 RStudio Server 자체 문제라기보다는, 크롬(또는 크로미움 기반 브라우저)의 탭 메모리 절약 정책 때문에 발생하는 경우가 많습니다.

왜 멈추는가?

  • 최근 크롬/엣지/브레이브 등 크로미움 브라우저는 비활성 탭 절전(Tab Discarding / Sleeping Tabs) 기능을 사용합니다.
  • CPU/메모리를 줄이기 위해 오랫동안 포커스되지 않은 탭을 “freeze” 상태로 바꾸는데, 이 경우 웹소켓 연결(예: RStudio Server의 세션)이 끊기거나 코드 실행이 중단된 것처럼 보일 수 있습니다.
  • 특히 R 코드가 브라우저에서 직접 돌아가는 게 아니라 서버에서 돌아가는데도, 세션 관리가 웹소켓 기반이라 탭이 절전되면 연결 유지가 안 됩니다.

해결 방법

  1. 크롬 탭 절전 해제
    • 주소창에 chrome://discards 입력 → 현재 탭 검색 → "Auto Discardable" 옵션을 꺼줍니다.
    • 또는 설정에서:
      설정 > 성능 > 메모리 절약 모드
      
      → 꺼버리거나, RStudio Server 도메인을 예외로 등록.
  2. Keep-alive 확장 프로그램 사용
    • "Auto Refresh" 같은 확장 프로그램으로 주기적으로 탭에 신호를 보내 절전을 막을 수 있습니다.
    • 예: 5분마다 빈 요청 보내기.
  3. 브라우저 말고 전용 클라이언트 사용
    • RStudio Server는 웹브라우저 기반이지만, RStudio Desktop (Pro) 같은 버전에서 원격 연결 기능을 쓰면 브라우저 절전 문제를 피할 수 있습니다.
    • 또는 VSCode + R 확장팩으로 원격 서버에 붙는 방법도 안정적.
  4. tmux / screen + R 콘솔併用
    • 서버에서 R을 꼭 끊기지 않고 돌려야 한다면, RStudio Server가 아닌 tmuxscreen 세션에서 R을 돌려두고, RStudio는 UI로만 쓰는 것도 방법입니다.
    • 이러면 브라우저가 절전돼도 백엔드 연산은 그대로 진행됩니다.

👉 정리:
브라우저에서 세션이 멈추는 건 크롬의 비활성 탭 절전 기능 때문일 가능성이 큽니다.

  • 빠른 해결: chrome://discards에서 RStudio Server 탭 절전 해제.
  • 근본 해결: 서버에서 tmux/screen 등으로 백그라운드에서 R을 실행하거나, 브라우저 대신 다른 클라이언트 사용.

원하시는 게 “브라우저 탭 절전만 막고 싶다”인지, 아니면 “코드가 항상 서버에서 돌아가게 보장”인지에 따라 방법을 달리 안내드릴 수 있는데요. 어느 쪽을 원하시나요?

둘다

좋습니다 👍 그럼 두 방향(1. 브라우저 절전 방지 / 2. 서버에서 항상 돌아가게 보장)을 각각 정리해 드릴게요.


1️⃣ 브라우저 절전 방지 (RStudio Server 탭이 멈추지 않도록)

크롬/엣지/브레이브 공통

  • 주소창 → chrome://settings/performance
  • 메모리 절약 모드를 끄거나,
    RStudio Server 접속 URL을 예외 사이트로 추가하세요.
  • 개별 탭에서 직접 확인: chrome://discards
    • RStudio Server 탭 찾기 → Auto Discardablefalse로 바꿉니다.

보조 옵션

  • 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 기능을 활용 → 브라우저를 닫아도 연산 계속 진행

반응형

댓글