Invocation 이라고 쓰여 있는데 시동, 발동 보다는 주문이라고 했습니다. 마법사가 된 기분 ㅋ
QEMU 명령어에 뭐가 있는지 알아보려는 거니까 간단히 번역만 남길게요.
내용 중에 90% 혹은 그 이상은 모르는 단어/개념이라 번역할 수 없는 것들은 원래대로 남겨둘게요.
마음대로 의역합니다. (Ref. 목요일(Saturday))
QEMU 주문 사용법
qemu-system-[CPU] [OPTIONS] [DISK IMAGE]
~~~~~주문을 외워보자~~~~~
기본옵션 1편
-h
도움말만 보여주고 빠져나온다.
*빠져나온다 = 프로그램 실행 없이 문서가 끝나면 다시 커맨드로 돌아온다.
-version
버전 정보만 보여주고 빠져나온다.
-machine [type=]name,prop=value[...]
에뮬레이션 머신을 이름으로 선택한다.
-machine help 주문으로 help 머신을 가동시키면 사용할 수 있는 머신들을 보여준다.
<<머신에서 사용할 수 있는 특성들>>
accel=accels1[:accels2[:...]]
accelerator를 사용할 수 있게 한다. 엑셀러레이터는 가속 회로판이다.
목적으로 하는 아키텍처에 따라 kvm, xen, tcg를 사용할 수 있다.
기본 값은 tcg이다.
괄호를 보면 액셀러레이터를 여러 개 사용할 수 있는데, 여러 개를 쓰면 앞의 엑셀러레이터 초기화가 실패했을 때 다음 것을 사용한다.
kernel_irqchip=on|off
커널 IRQ 칩 이라고 읽겠다.
선택된 엑셀러레이터를 위해 가능할 때에 커널 내부의 IRQ 칩 제공을 할 것인지 말 것인지 제어한다.
gfx_passthru=on|off
선택된 머신에서 사용할 수 있을 때 IGD GFX 패스쓰루 제공을 가능하게 한다.
vmport=on|off|auto
VMWare 의 IO 포트 에뮬레이팅을 가능하게 한다. vm마우스 등에서 'auto'는 엑셀에 기반한 값을 선택하게 한다. accle=xen의 경우 기본 값은 off 이고 다른 경우는 on이다.
kvm_shadow_mem=size
KVM shadow MMU의 크기를 정의한다.
dump-guest-core=on|off
게스트 메모리를 코어 덤프 안에 포함한다. 기본 값은 on이다.
mem-merge=on|off
메모리 머지 제공을 on|off 한다. 이 특징은 호스트로부터 제공될 때, VMs 상황들 중 특정 메모리 페이지의 데이터에서 중복을 제거한다.
aes-key-wrap=on|off ┌----------------------┐
dea-key-wrap=on|off | 진짜 뭔지 모르겠다. |
nvdimm=on|off └----------------------┘
-cpu model
CPU 모델을 선택한다. (-cpu help 주문을 하면 리스트를 보여주거나 특징 선택한다.
-accel name[,prop=value[,...]]
엑셀러레이터 사용을 활성화 시킬 때 사용한다. 타겟 아키텍처인 kvm, xen, tcg 사용이 가능하다. 위의 -machine 주문에서와 같이 tcg가 기본 값이고 하나 이상의 엑셀러레이터를 사용하면 앞에서 사용된 엑셀러레이터 설정이 실패했을 때 다음 엑셀러레이터를 사용한다.
<< -accel 옵션 >>
thread=single|multi
tcg 쓰레드의 숫자를 제어한다. TCG가 멀티 쓰레드라면 vCPU 당 하나의 쓰레드가 있을 것이고 추가적인 호스트 코어들의 이점을 취한다. 초기 값은 멀티 쓰레딩을 활성화 하는 것이고 이는 백엔드와 프론트 엔드 모두 제공하는 것이며 양립할 수 없는 tcg 특성들이 사용가능하게 되었다.
-smp [cpus=]n,[,cores=cores][,threads=threads][,sockets=sockets][,maxcpus=maxcpus]
n개의 CPU를 동반하는 SMP 시스템을 시뮬레이팅한다. PC 타겟에서 255개의 CPU까지 제공된다. Sparc32 에서 리눅스가 제한하는 사용 가능한 CPU는 4개다. PC 타겟에서 소켓당 코어의 수와 코어당 쓰레드의 수 그리고 전체 소켓의 수는 정의될 수 있다. 빠진 값들은 컴퓨팅될 것이다. 세 개 중 어느 값이 주어지면, 전체 CPU의 수인 n은 생략할 수 있따. maxcpus는 핫 플러그가 가능한 CPU의 최대 개수를 정의한다.
-numa node[,mem=size][,cpus=firstcpu[-lastcpu]][,nodeid=node]
-numa node[,memdev=id][,cpus=firstcpu[-lastcpu]][,nodeid=node]
NUMA 노드를 정의하고 RAM과 VCPU들을 거기에 배정한다.
firstcpu와 lastcpu는 CPU 인덱스들이다. 각각의 'cpus'옵션은 CPU인덱스들의 인접한 범위를 나타낸다. 인접하지 않은 VCPU들의 집합은 'cpus' 옵션을 여러 개 제공함으로써 표현될 수 있다. 'cpus'가 모든 노드에서 생략되면 VCPU들은 자동으로 노드들 사이에서 분리된다.
예를 들어, 아래의 옵션은 VCPU를 0,1,2,5 NUMA노드에 배열한다.
{ -numa node,cpus=0-2,cpus=5 }
'mem'은 주어진 RAM의 양을 노드에 배열한다. 'memdev'는 주어진 메모리 백엔드 장치의 RAM을 노드에 배열한다.
'mem'과 'memdev'가 전체 노드에서 생략되었을 경우 RAM은 노드들 사이에 동일하게 나누어진다.
'mem'과 'memdev'는 상호배체한다. 나아가 하나의 노드가 'memdev'를 사용한다면, 전체 노드가 'memdev'를 사용해야 한다.
-numa 옵션은 어떤 특정한 자원을 할당하지 않고 이미 존재하는 자원을 NUMA노드에 배열할 뿐이다. 따라서 RAM과 VCPU를 각각 할당하기 위해서는 여전히 -m, -smp 옵션을 사용해야 한다.
-add-fd fd=fd,set=set[,opaque=opaque]
파일 디스크립터를 하나의 fd 셋에 추가한다.
<< -add-fd 옵션 >> == 나중에
fd=fd
set=set
opaque=opaque
예시
qemu-system-i386
-add-fd fd=3,set=2,opaque="rdwr:/path/to/file"
-add-fd fd=4,set=2,opaque="rdonly:/path/to/file"
-drive file=/dev/fdset/2,index=0,media=disk
-set group.id.arg=value
파라미터인 arg를 아이템 id의 group타입으로 설정한다.
일단 여기까지 주문 저장!
'프로그래밍 > AI' 카테고리의 다른 글
caffe 설치 버전 2 (0) | 2017.08.17 |
---|---|
Caffe 설치 (0) | 2017.08.17 |
Caffe 설치 1. 옵션부터 설치하기 (0) | 2017.08.17 |
[그레이 후드 공부방] 텐서플로우 IRIS 예제 실행 오류 (1) | 2017.08.03 |
[그레이 후드 공부방] 텐서플로우를 시작하며 (0) | 2017.08.02 |