XMRig — 전체 가이드
네트워크
| 짧은 옵션 | 긴 옵션 | 설명 | 버전 |
|---|---|---|---|
| -o | --url=URL | 채굴 서버 URL | 전체 |
| -a | --algo=ALGO | 채굴 알고리즘 | 전체 |
| --coin=COIN | 알고리즘 대신 코인 지정 | 3.2.0+ | |
| -u | --user=USERNAME | 채굴 서버 사용자 이름 | 전체 |
| -p | --pass=PASSWORD | 채굴 서버 비밀번호 | 전체 |
| -O | --userpass=U:P | 채굴 서버용 사용자이름:비밀번호 쌍 | 전체 |
| -x | --proxy=HOST:PORT | SOCKS5 프록시를 통해 연결 | 5.7.0+ |
| -k | --keepalive | 타임아웃 방지를 위해 keepalive 패킷 전송 (풀 지원 필요) | 전체 |
| --nicehash | nicehash 지원 활성화 | 전체 | |
| --rig-id=ID | 풀 측 통계용 채굴 장비 식별자 (풀 지원 필요) | 2.6.1+ | |
| --tls | SSL/TLS 지원 활성화 (풀 지원 필요) | 2.8.0+ | |
| --tls-fingerprint=HEX | 엄격한 인증서 고정을 위한 풀 TLS 인증서 지문 | 2.8.0+ | |
| --dns-ipv6 | DNS 응답에서 IPv6 레코드 우선 사용 | 6.11.0+ | |
| --dns-ttl=N | 내부 DNS 캐시의 TTL, N초 (기본값: 30) | 6.11.0+ | |
| --daemon | 솔로 채굴 시 풀 대신 데몬 RPC 사용 | 3.0.0+ | |
| --daemon-poll-interval=N | 데몬 폴링 간격, 밀리초 단위 (기본값: 1000) | 3.0.0+ | |
| --self-select=URL | URL에서 블록 템플릿을 직접 선택(self-select) | 4.4.0+ | |
| --submit-to-origin | 솔루션을 self-select URL로도 다시 제출 | 6.9.0+ | |
| -r | --retries=N | 백업 서버로 전환하기 전 재시도 횟수 (기본값: 5) | 전체 |
| -R | --retry-pause=N | 재시도 사이 대기 시간 (기본값: 5) | 전체 |
| --user-agent | 풀에 보낼 사용자 지정 user-agent 문자열 설정 | 2.3.0+ | |
| --donate-level=N | 기부(개발자 수수료) 수준, 기본값 1% (100분 중 1분) | 전체 | |
| --donate-over-proxy=N | xmrig-proxy를 통한 기부 기능 제어 | 3.0.0+ |
CPU 백엔드
| 짧은 옵션 | 긴 옵션 | 설명 | 버전 |
|---|---|---|---|
| --no-cpu | CPU 채굴 백엔드 비활성화 | 3.0.0+ | |
| -t | --threads=N | CPU 스레드 수. 일부 최적화에는 올바른 CPU 선호도(affinity) 설정이 필요합니다. | 전체 |
| --cpu-affinity=N | 프로세스를 특정 CPU 코어에 할당, 코어 0과 1은 마스크 0x3 | 전체 | |
| -v | --av=N | 알고리즘 변형, 0은 자동 선택 | 전체 |
| --cpu-priority=N | 프로세스 우선순위 설정 (0 유휴, 2 보통 ~ 5 최고) | 2.3.0+ | |
| --cpu-max-threads-hint=N | 자동 설정용 최대 CPU 스레드 수 힌트 (백분율) | 4.2.0+ | |
| --cpu-memory-pool=N | 영구 메모리 풀용 2 MB 페이지 수, -1 (자동), 0 (비활성화) | 4.3.0+ | |
| --cpu-no-yield | 시스템 반응성/안정성보다 최대 해시레이트 우선 | 5.1.1+ | |
| --no-huge-pages | huge pages 지원 비활성화 | 2.3.0+ | |
| --hugepage-size=N | 사용자 지정 hugepage 크기, kB 단위 (Linux 전용) | 2.8.1+ | |
| --huge-pages-jit | RandomX JIT 코드에 huge pages 지원 활성화 | 전체 | |
| --asm=ASM | ASM 최적화, 가능한 값: auto, none, intel, ryzen, bulldozer | 2.8.0+ | |
| --argon2-impl=IMPL | argon2 구현: x86_64, SSE2, SSSE3, XOP, AVX2, AVX-512F | 6.3.1+ | |
| --randomx-init=N | RandomX 데이터셋 초기화에 사용할 스레드 수 | 3.0.0+ | |
| --randomx-no-numa | RandomX의 NUMA 지원 비활성화 | 3.0.0+ | |
| --randomx-mode=MODE | RandomX 모드: auto, fast, light | 5.1.0+ | |
| --randomx-1gb-pages | RandomX 데이터셋에 1GB hugepages 사용 (Linux 전용) | 5.2.0+ | |
| --randomx-wrmsr=N | MSR 레지스터에 사용자 지정 값 기록 또는 MSR 모드 비활성화 (-1) | 5.2.0+ | |
| --randomx-no-rdmsr | 종료 시 초기 MSR 값 복원 비활성화 | 5.5.0+ | |
| --randomx-cache-qos | Cache QoS 활성화 | 6.3.1+ |
OpenCL 백엔드
| 짧은 옵션 | 긴 옵션 | 설명 | 버전 |
|---|---|---|---|
| --opencl | OpenCL 채굴 백엔드 활성화 | 5.0.0+ | |
| --opencl-devices=N | 사용할 OpenCL 장치 목록 (쉼표로 구분) | 5.0.0+ | |
| --opencl-platform=N | OpenCL 플랫폼 인덱스 또는 이름 | 5.0.0+ | |
| --opencl-loader=PATH | OpenCL-ICD-Loader 경로 (OpenCL.dll 또는 libOpenCL.so) | 5.0.0+ | |
| --opencl-no-cache | OpenCL 캐시 비활성화 | 5.0.0+ | |
| --print-platforms | 사용 가능한 OpenCL 플랫폼을 출력하고 종료 | 5.0.0+ |
CUDA 백엔드
| 짧은 옵션 | 긴 옵션 | 설명 | 버전 |
|---|---|---|---|
| --cuda | CUDA 채굴 백엔드 활성화 | 5.0.0+ | |
| --cuda-loader=PATH | CUDA 플러그인 경로 (xmrig-cuda.dll 또는 libxmrig-cuda.so) | 5.0.0+ | |
| --cuda-devices=N | 사용할 CUDA 장치 목록 (쉼표로 구분) | 5.0.0+ | |
| --cuda-bfactor-hint=N | 자동 설정용 bfactor 힌트 (0-12) | 5.0.1+ | |
| --cuda-bsleep-hint | 자동 설정용 bsleep 힌트 | 5.0.1+ | |
| --no-nvml | NVML (NVIDIA Management Library) 지원 비활성화 | 5.0.0+ |
API
| 짧은 옵션 | 긴 옵션 | 설명 | 버전 |
|---|---|---|---|
| --api-worker-id=ID | API용 사용자 지정 worker-id | 2.4.0+ | |
| --api-id=ID | API용 사용자 지정 인스턴스 ID | 2.4.0+ | |
| --http-host=HOST | HTTP API 바인드 호스트 (기본값: 127.0.0.1) | 5.0.0+ | |
| --http-port=N | HTTP API 바인드 포트 | 5.0.0+ | |
| --http-access-token=T | HTTP API 액세스 토큰 | 5.0.0+ | |
| --http-no-restricted | HTTP API에 대한 전체 원격 접근 허용 (액세스 토큰이 설정된 경우에만) | 5.0.0+ |
로그
| 짧은 옵션 | 긴 옵션 | 설명 | 버전 |
|---|---|---|---|
| -S | --syslog | 출력 메시지에 시스템 로그 사용 | 전체 |
| -l | --log-file=FILE | 모든 출력을 파일에 기록 | 전체 |
| --print-time=N | N초마다 해시레이트 보고서 출력 | 전체 | |
| --health-print-time=N | N초마다 상태(health) 보고서 출력 | 5.0.0+ | |
| --no-color | 컬러 출력 비활성화 | 전체 | |
| --verbose | 상세 출력 | 5.4.0+ |
기타
| 짧은 옵션 | 긴 옵션 | 설명 | 버전 |
|---|---|---|---|
| -c | --config=FILE | JSON 형식의 설정 파일 불러오기 | 전체 |
| -B | --background | 마이너를 백그라운드에서 실행 | 전체 |
| -V | --version | 버전 정보를 출력하고 종료 | 전체 |
| -h | --help | 이 도움말을 표시하고 종료 | 전체 |
| --dry-run | 설정을 테스트하고 종료 | 전체 | |
| --export-topology | hwloc 토폴로지를 XML 파일로 내보내고 종료 | 3.0.0+ | |
| --title | 사용자 지정 콘솔 창 제목 설정 | 6.0.1+ | |
| --no-title | 콘솔 창 제목 설정 비활성화 | 6.0.1+ | |
| --pause-on-battery | 배터리 전원 사용 시 채굴 일시 중지 | 6.3.1+ | |
| --pause-on-active=N | 사용자가 활동 중일 때 채굴 일시 중지 (마지막 활동 후 N초가 지나면 재개) | 6.9.0+ | |
| --stress | 시스템 안정성 확인을 위해 연속 스트레스 테스트 실행 | 6.4.0+ | |
| --bench=N | 벤치마크 실행, N은 1M에서 10M 사이 | 6.4.0+ | |
| --submit | 온라인 벤치마크를 실행하고 공유용으로 결과 제출 | 6.5.0+ | |
| --verify=ID | 제출된 벤치마크를 ID로 검증 | 6.5.0+ | |
| --seed=SEED | 벤치마크용 사용자 지정 RandomX 시드 | 6.5.0+ | |
| --hash=HASH | 벤치마크 결과를 지정한 해시와 비교 | 6.5.0+ | |
| --no-dmi | DMI/SMBIOS 읽기 비활성화 | 6.8.0+ |
메모리 용량 요구 사항
데이터셋용으로 NUMA 노드당 2080 MB가 필요합니다. NUMA 노드 1개는 보통 CPU 소켓 1개에 해당하며, 마이너는 시작할 때 노드 수를 표시합니다.
첫 번째 NUMA 노드에 캐시용 256 MB가 필요합니다.
채굴 스레드 1개당 L2 캐시 256 KB와 L3 캐시 2 MB가 필요합니다.
CPU 캐시 요구 사항은 대부분의 CPU에서 마이너가 모든 스레드를 사용하지 않는 주된 이유입니다(자주 묻는 질문입니다). Windows에서는 4GB 메모리로는 시스템과 마이너를 함께 돌리기에 부족할 수 있습니다.
메모리 요구량을 늘리거나 줄이는 방법은 여러 가지가 있습니다:
Linux의 1GB huge pages는 NUMA 노드당 메모리 요구량을 3GB(3페이지)로 늘리지만 해시레이트를 1-3% 높여 줍니다.
"randomx" 객체에서 "numa": false로 NUMA 지원을 비활성화하면 마이너는 데이터셋을 1개만 사용하지만, 해시레이트가 크게 떨어집니다. NUMA 노드가 1개뿐이라면 이 옵션은 효과가 없습니다.
RandomX light 모드는 메모리 요구량을 256 MB로 줄이지만 매우 느립니다. "randomx" 객체에서 "mode": "light"로 활성화할 수 있습니다.
여러 개의 메모리 채널이 필요할 수 있습니다:
DDR3 메모리는 채널당 약 1500-2000 H/s로 제한됩니다(주파수와 타이밍에 따라 다름)
DDR4 메모리는 채널당 약 4000-6000 H/s로 제한됩니다(주파수와 타이밍에 따라 다름)
Huge Pages
Huge Pages는 RandomX 성능을 최대 50%까지 높일 수 있으며, 1GB huge pages(Linux 전용)는 일반 huge pages에 더해 해시레이트를 1-3% 추가로 높여 줍니다.
하드웨어 프리페처 MSR 모드
최적의 RandomX 성능을 얻으려면 하드웨어 프리페처를 비활성화해야 합니다.
Cache QoS
채굴하지 않는 모든 CPU 코어의 L3 캐시 접근을 차단해 채굴에 대한 간섭을 줄이는 실험적 기능입니다.
