개요

본 내용은 Ubuntu 22.04.2 LTS를 기준으로 설명된다.

 

Host 머신에 리눅스 컨테이너(LXC)를 생성(lxc-create 명령어를 통해)하게 되면, 기본적으로 LXC는 Host 머신의 모든 CPU Core들을 점유할 수 있도록 Default로 설정된다.

 

Host 머신의 CPU Core 개수는 여러 명령어로 확인할 수 있지만, 리눅스 기본 유틸리티로 사용할 수 있는 top 명령을 통해 더 쉽게 확인할 수 있다.

 

top 명령을 실행시킨 뒤 숫자 1을 누르게 되면, Host 머신에서 사용가능한 CPU 코어 수와 각 코어의 점유율을 확인할 수 있다.

 

아래와 같이 필자의 Host 머신은 총 12개의 Core가 존재하는 것을 볼 수 있으며 각 Core의 Index는 0번부터 시작한다.

 

이러한 Core의 Index를 통해 LXC에 특정 CPU를 할당시킬 수 있으며, 그러한 방법을 본 페이지에서 간략하게 소개한다.

 

LXC에 특정 CPU Core 할당

LXC를 생성하게 되면, /var/lib/lxc/ 디렉터리에 아래에 본인이 생성한 컨테이너에 대한 디렉터리가 존재할 것이다.

해당 디렉터리가 LXC의 root 디렉터리가 된다.

추가로 /etc/lxc/default.conf는 LXC를 생성할 때 Default로 적용할 수 있는 Config 파일이다.

 

예를 들어, LXC를 생성할 때 컨테이너의 이름을 lxc_1로 설정하였다면 /var/lib/lxc/lxc_1 경로에 컨테이너의 Config 파일과 Rootfs이 존재하게 된다.

여기서 Config 파일을 수정하여 LXC에 특정 CPU Core를 할당시킬 수 있다.

 

LXC에 특정 CPU Core를 할당시키기 위해 Config 파일을 에디터로 접근해준다.

$ sudo vi /etc/lib/lxc/[lxc_name]/config

 

파일 내용에 lxc.cgroup.cpuset.cpus를 추가하여 해당 변수에 할당시킬 CPU Core의 Index를 작성해주면된다.

 

예를 들어, 0번과 3번을 할당시키고 싶다면 0,3을 작성해주면되고 1번부터 7번 Core를 모두 할당시키고 싶다면 1-7을 작성해주면 된다.

 

아래는 LXC에 특정 CPU Core를 할당시키기 위한 변수를 추가한 내용을 캡처한 것이다.

 

위와 같이 LXC에 할당시킬 CPU Core를 작성해준 뒤 LXC를 껐다 켜주면 LXC에 특정 CPU Core가 할당된 것을 확인할 수 있다.

 

LXC로 접근하여서 top 명령으로 확인하면 된다.

 

아래는 LXC에 할당된 CPU Core 개수를 캡처한 결과이다.

 

 

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기