tmux
tmux란?
tmux는 자유롭게 사용 가능한 터미널 멀티플렉서입니다. 단일 창에서 여러 터미널 세션을 실행할 수 있기 때문에 여러 명령어와 작업을 손쉽게 관리할 수 있습니다.
tmux 설치
tmux를 설치하려면 다음 명령어를 사용하십시오:
-
Ubuntu/Debian:
sudo apt-get install tmux
-
macOS:
brew install tmux
-
Red Hat/CentOS:
sudo yum install tmux
부스트캠프 서버의 경우 'apt install tmux'로 설치됩니다.
기본적인 tmux 명령어
tmux를 시작하기 위한 일부 기본적인 명령어는 다음과 같습니다:
-
tmux new -s 세션 이름
: 지정된 이름으로 새로운 tmux 세션을 만들기 -
tmux ls
: 활성화된 모든 tmux 세션을 목록으로 보기 -
tmux a -t 세션 이름
: 기존의 tmux 세션에 연결하기 -
tmux detach
: 현재 tmux 세션에서 분리하기 -
Ctrl + b
누른 뒤 손을 떼고 추가 단축키( 예를 들어,Ctrl + b
c
새로운 창을 만들기)
tmux를 활용한 백그라운드 트레이닝
tmux를 사용하여 백그라운드 트레이닝을 수행하는 방법은 다음과 같습니다.
1단계: 새로운 tmux 세션 만들기
새로운 터미널 창을 열어 다음 명령어를 실행하십시오:
tmux new -s train_session
이렇게 하면 새로운 tmux 세션인 train_session
이 생성됩니다.
2단계:환경 활성화 (필요한 경우)
트레이닝을 위한 특정 환경을 활성화해야 하는 경우, tmux 세션 내에서 다음과 같이 활성화할 수 있습니다:
conda activate myenv
3단계: 트레이닝 스크립트 실행
tmux 세션 내에서, 트레이닝 스크립트를 평소처럼 시작할 수 있습니다:
python train.py --model_name resnet50 --num_gpus 2
3.5단계: 새 pane으로 화면 분할하기 (선택)
tmux 세션에서 학습을 진행하는 도중, 화면을 분할하여 그래픽 카드 현황을 확인하고 싶을 수 있습니다.
-
화면을 세로로 분할하기:
Ctrl + b
이후 손 떼고%
-
화면을 가로로 분할하기:
Ctrl + b
이후 손 떼고"
-
분할된 화면 간 이동하기:
Ctrl +b
이후 손 떼고방향키
watch -n 1 nvidia-smi
df -H
4단계: tmux 세션에서 분리하기
트레이닝 스크립트를 실행한 후, Ctrl + b
이후 손 떼고 d
로 tmux 세션에서 분리할 수 있습니다. 이렇게 하면 터미널 창을 닫을 수 있는 반면, 트레이닝 스크립트는 백그라운드에서 계속 실행됩니다.
실행하던 VSCode를 꺼도 세션이 꺼지지 않습니다.
5단계: tmux 세션에 다시 연결하기 (필요한 경우)
트레이닝에 대한 진행 상황을 확인하거나 스크립트와 상호작용하려면, 다음 명령어를 이용하여 tmux 세션에 다시 연결할 수 있습니다:
tmux a -t train_session
이렇게 하면, 트레이닝 스크립트가 실행중인 터미널 창으로 다시 돌아갈 수 있습니다.
팁
-
tmux ls
명령어를 사용하여 활성화된 모든 tmux 세션을 목록으로 볼 수 있습니다.tmux a -t 세션 이름
명령어를 사용하여 특정 세션에 연결할 수 있습니다. -
Ctrl + b
이후 손떼고화살표
로 창을 이동합니다.Ctrl + b
이후 손떼고x
로 창을 종료할 수 있습니다.