위아래로 터미널 기록 보고싶다면
ctrl + b : set -g mouse on
끄고싶다면off (켜있으면 복사 안됨)
1.tmux new -s <세션이름> (서버가 끊겨도 할당 받은 gpu가 유지됩니다.)
2. srun --gpus-per-node=1 --time=1-23:00:00 --pty /bin/bash (GPU를 할당)
하신다음에 쓰시면 됩니다.
tmux는 터미널 멀티플렉서로, 하나의 터미널 창에서 여러 세션, 윈도우, 그리고 분할된 패널(페인)들을 관리할 수 있게 해준다.
tmux 설치하기
1. 필요한 의존성 설치 (관리자 권한 필요, 한 번만
sudo apt update
sudo apt install -y build-essential libevent-dev libncurses-dev
2. tmux소스 다운로드 & 설치
cd /home/work/data0/minsun
wget https://github.com/tmux/tmux/releases/download/3.3a/tmux-3.3a.tar.gz
tar -xzf tmux-3.3a.tar.gz
cd tmux-3.3a
./configure --prefix=/home/work/data0/minsun/tmux_local
make -j$(nproc)
make install
이렇게 하면 tmux가 /home/work/data0/minsun/tmux_local/bin/tmux로 설치돼.
3. tmux 명령어를 바로 쓸 수 있게 만들기
echo 'export PATH=/home/work/data0/minsun/tmux_local/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
4. 확인 및 사용
which tmux
tmux -V
tmux new -s depthpro
tmux 사용 방법
TMUX는 기본적으로 prefix키인 'ctrl + b'를 누르고 뗀 후, 다음 명령어 키를 눌러야한다.
ctrl + b, <key>
Command mode에서 입력을 해야하는 경우
ctrl + b, :
이미 “nvs-solver”라는 tmux 세션이 이미 있다면, 그 세션에 재접속(attach)해서 그 안에서 GPU 할당 명령어를 실행하면 된다.
1. tmux 세션에 재접속하기:
tmux attach -t nvs-solver
2. 세션 안에서 GPU 할당 받기:
재접속한 후, tmux 내에서 아래 명령어를 실행하여 GPU를 할당받는 bash 셸을 시작한다.
srun --gpus-per-node=1 --time=1-23:00:00 --pty /bin/bash
이렇게 하면, 기존 “nvs-solver” 세션을 그대로 활용하면서 GPU 자원을 할당받아 작업할 수 있다.
1. 현재 tmux 세션을 종료하거나 분리한 후 접속
• 현재 세션에서 Ctrl+B, D 를 눌러 tmux 세션을 분리한 다음, 새로운 터미널에서
tmux attach -t nvs-solver
를 실행한다.
2. 현재 세션 내에서 강제로 다른 세션에 접속
• 만약 현재 tmux 세션 안에서 또 다른 세션에 접속하고 싶다면, 아래와 같이 TMUX 환경 변수를 해제한 후 접속할 수 있다:
unset TMUX
tmux attach -t nvs-solver
• 다만, 세션을 중첩해서 사용하는 것은 혼란을 줄 수 있으므로 권장되지는 않는다.
일반적으로는 현재 세션을 분리한 후 새로운 터미널에서 접속하는 방법을 추천한다.
1. 세션(Session) 관리
• 새로운 세션 생성
tmux new -s <세션이름>
→ 지정한 이름의 새로운 세션을 생성한다.
• 세션 목록 보기
tmux ls
→ 현재 실행 중인 모든 세션을 나열한다.
• 세션에 접속(attach)하기
tmux attach -t <세션이름>
tmux a -t <세션이름>
→ 특정 세션에 연결(attach)한다.
• 세션 전환
tmux switch-client -t <세션이름>
→ 현재 클라이언트를 다른 세션으로 전환한다.
• 세션 종료(킬)하기
tmux kill-session -t <세션이름>
→ 지정한 세션을 종료한다.
• 서버 전체 종료
ctrl + b (누른상태로 놓지말고) + dd
tmux kill-server
→ 모든 세션을 종료하고 tmux 서버를 종료한다.
• 세션 분리(detach)하기
→ 기본 키 조합: Ctrl+B, 그리고 D
→ 현재 세션에서 분리(detach)하여 백그라운드로 유지한다.
2. 윈도우(Window) 관리
• 새로운 윈도우 생성
기본 키 조합: Ctrl+B, 그리고 C
→ 현재 세션 내에 새 윈도우를 생성한다.
• 윈도우 목록 보기
기본 키 조합: Ctrl+B, 그리고 W
→ 현재 세션 내의 모든 윈도우 목록을 표시한다.
• 윈도우 전환 (숫자 단축키)
기본 키 조합: Ctrl+B 후 숫자 (0~9)
→ 해당 번호의 윈도우로 전환한다.
• 다음/이전 윈도우로 이동
기본 키 조합: Ctrl+B 후 N (Next) 또는 P (Previous)
→ 순서대로 다음 혹은 이전 윈도우로 이동한다.
• 윈도우 이름 변경
기본 키 조합: Ctrl+B 후 쉼표(,)
→ 현재 윈도우의 이름을 변경할 수 있다.
• 현재 윈도우 종료
기본 키 조합: Ctrl+B 후 &
→ 현재 윈도우를 종료(킬)한다.
3. 패널(Pane) 관리
• 새 패널 분할 (세로 분할)
기본 키 조합: Ctrl+B 후 %
→ 수직(좌/우)으로 패널을 분할한다.
• 새 패널 분할 (가로 분할)
기본 키 조합: Ctrl+B 후 "
→ 수평(상/하)으로 패널을 분할한다.
• 패널 간 이동
기본 키 조합: Ctrl+B 후 화살표 키
→ 인접한 패널로 이동한다.
• 패널 번호 표시
기본 키 조합: Ctrl+B 후 Q
→ 각 패널에 번호를 표시하여 빠르게 이동할 수 있도록 한다.
• 패널 종료
기본 키 조합: Ctrl+B 후 X
→ 현재 선택된 패널을 종료한다.
• 패널 확대/축소 (Zoom)
기본 키 조합: Ctrl+B 후 Z
→ 현재 패널을 확대하여 전체 창처럼 보이게 하거나, 원래 크기로 되돌린다.
• 패널 크기 조절
• 기본적으로 Ctrl+B 후 :를 눌러 커맨드 프롬프트를 열고,
resize-pane -L 10 # 왼쪽으로 10칸 줄이기
resize-pane -R 10 # 오른쪽으로 10칸 늘리기
resize-pane -U 5 # 위쪽으로 5줄 줄이기
resize-pane -D 5 # 아래쪽으로 5줄 늘리기
• 또는, 일부 tmux 설정에서는 Alt+화살표로 크기 조절할 수도 있다.
4. 복사(Copy Mode) 및 붙여넣기(Paste)
• 복사 모드 진입
기본 키 조합: Ctrl+B 후 [
→ 복사 모드에 들어가서 키보드로 스크롤하거나 텍스트를 선택할 수 있다.
• 텍스트 선택 및 복사
• 복사 모드에서 방향키를 사용해 커서를 이동하고,
• Space를 눌러 선택 시작,
• 선택 후 Enter를 눌러 복사한다.
• 붙여넣기
기본 키 조합: Ctrl+B 후 ]
→ 버퍼에 복사한 텍스트를 현재 위치에 붙여넣는다.
5. 기타 유용한 명령어
• tmux 설정 파일 재로드
만약 ~/.tmux.conf 파일을 수정했다면:
tmux source-file ~/.tmux.conf
→ 현재 세션에 새로운 설정을 적용한다.
• 명령 프롬프트 열기
기본 키 조합: Ctrl+B 후 :
→ tmux 내부 커맨드 라인을 열어 다양한 tmux 명령어를 직접 입력할 수 있다.
• 세션, 윈도우, 패널 목록 확인
tmux list-sessions
tmux list-windows -t <세션이름>
tmux list-panes -t <세션이름>:<윈도우번호>
→ 각각의 목록을 확인할 수 있다.
이 메시지는 srun으로 제출한 작업이 아직 할당 대기 상태에 있다는 의미다. GPU가 정상적으로 작동하는지 확인하려면, GPU가 할당된 상태에서 실행 중인 프로세스를 보아야 하는데, 현재는 작업이 큐에 대기 중이므로 nvidia-smi를 실행해도 GPU를 사용 중인 프로세스가 보이지 않는다.
복사 모드로 바꾸기 : 대신 위로 안올라감 페이지
ctrl+ B 누르기+ " : set -g mouse off " 입력
되돌리고싶으면 off -> on
nvidia-smi
srun: job 194278 queued and waiting for resources
확인 방법:
1. squeue로 작업 상태 확인
본인의 작업이 얼마나 대기 중인지 확인하려면 아래 명령어를 사용한다:
squeue -u <당신의_사용자이름>
이 명령어는 현재 큐에 있는 작업 목록과 상태를 보여준다.
2. 작업이 시작된 후 nvidia-smi 실행
작업이 시작되면, 할당받은 노드에서 nvidia-smi를 실행하면 GPU 사용 상태와 실행 중인 프로세스가 표시된다.
즉, 지금은 작업이 할당 대기 상태이므로 GPU가 사용 중이지 않음을 나타내는 것이 정상이며, squeue 명령어로 작업이 언제 실행되는지 확인할 수 있다.
참고
'꿀팁' 카테고리의 다른 글
[꿀팁] GPU서버 꺼졌을 때 conda, tmux 재설치, 환경변수 설정 자동으로 키자마자 되는법 (0) | 2025.04.26 |
---|---|
[꿀팁] 티스토리 LaTeX 수식 넣는법, 라텍스 문법, 수식 바꾸기 (5) | 2024.11.08 |
[꿀팁] Mac M1칩 맥북 GPU 사용하는법 code 코드 (3) | 2024.10.14 |
[꿀팁] 초간단! 맥북 닫아도 듀얼모니터 화면 안꺼지게 하는 법 (1) | 2024.10.09 |
[꿀팁] Mac 책갈피 삭제하기 (0) | 2024.03.10 |