XMRig — راهنمای کامل
شبکه
| گزینهٔ کوتاه | گزینهٔ بلند | توضیح | نسخه |
|---|---|---|---|
| -o | --url=URL | آدرس سرور استخراج | All |
| -a | --algo=ALGO | الگوریتم استخراج | All |
| --coin=COIN | تعیین کوین بهجای الگوریتم | 3.2.0+ | |
| -u | --user=USERNAME | نام کاربری سرور استخراج | All |
| -p | --pass=PASSWORD | رمز عبور سرور استخراج | All |
| -O | --userpass=U:P | جفت username:password برای سرور استخراج | All |
| -x | --proxy=HOST:PORT | اتصال از طریق پراکسی SOCKS5 | 5.7.0+ |
| -k | --keepalive | ارسال بستهٔ keepalive برای جلوگیری از timeout (به پشتیبانی استخر نیاز دارد) | All |
| --nicehash | فعال کردن پشتیبانی از nicehash | All | |
| --rig-id=ID | شناسهٔ ریگ برای آمار سمت استخر (به پشتیبانی استخر نیاز دارد) | 2.6.1+ | |
| --tls | فعال کردن پشتیبانی از SSL/TLS (به پشتیبانی استخر نیاز دارد) | 2.8.0+ | |
| --tls-fingerprint=HEX | اثر انگشت گواهی TLS استخر برای pinning سختگیرانهٔ گواهی | 2.8.0+ | |
| --dns-ipv6 | ترجیح رکوردهای IPv6 در پاسخهای DNS | 6.11.0+ | |
| --dns-ttl=N | TTL برای کش داخلی DNS بر حسب N ثانیه (پیشفرض: 30) | 6.11.0+ | |
| --daemon | استفاده از daemon RPC بهجای استخر برای استخراج انفرادی (solo) | 3.0.0+ | |
| --daemon-poll-interval=N | بازهٔ پرسوجوی daemon بر حسب میلیثانیه (پیشفرض: 1000) | 3.0.0+ | |
| --self-select=URL | انتخاب خودکار قالبهای بلاک (self-select) از URL | 4.4.0+ | |
| --submit-to-origin | ارسال راهحل به URL مربوط به self-select هم | 6.9.0+ | |
| -r | --retries=N | تعداد تلاش مجدد پیش از رفتن به سرور پشتیبان (پیشفرض: 5) | All |
| -R | --retry-pause=N | زمان مکث بین تلاشها (پیشفرض: 5) | All |
| --user-agent | تعیین رشتهٔ user-agent دلخواه برای استخر | 2.3.0+ | |
| --donate-level=N | سطح donate (کارمزد توسعهدهنده)، پیشفرض 1% (1 دقیقه از هر 100 دقیقه) | All | |
| --donate-over-proxy=N | کنترل قابلیت donate از طریق xmrig-proxy | 3.0.0+ |
بکاند CPU
| گزینهٔ کوتاه | گزینهٔ بلند | توضیح | نسخه |
|---|---|---|---|
| --no-cpu | غیرفعال کردن بکاند استخراج CPU | 3.0.0+ | |
| -t | --threads=N | تعداد رشتههای CPU. برای برخی بهینهسازیها affinity مناسب CPU لازم است. | All |
| --cpu-affinity=N | تعیین affinity فرایند به هسته(های) CPU، ماسک 0x3 برای هستههای 0 و 1 | All | |
| -v | --av=N | نوع الگوریتم، 0 انتخاب خودکار | All |
| --cpu-priority=N | تعیین اولویت فرایند (0 بیکار، 2 عادی تا 5 بالاترین) | 2.3.0+ | |
| --cpu-max-threads-hint=N | راهنمای حداکثر تعداد رشتههای CPU (به درصد) برای پیکربندی خودکار | 4.2.0+ | |
| --cpu-memory-pool=N | تعداد صفحات 2 MB برای memory pool دائمی، -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 | فعال کردن پشتیبانی از huge pages برای کد JIT در RandomX | All | |
| --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 | تعداد رشتهها برای مقداردهی اولیهٔ dataset در RandomX | 3.0.0+ | |
| --randomx-no-numa | غیرفعال کردن پشتیبانی از NUMA برای RandomX | 3.0.0+ | |
| --randomx-mode=MODE | حالت RandomX: auto، fast، light | 5.1.0+ | |
| --randomx-1gb-pages | استفاده از hugepageهای 1GB برای dataset در RandomX (فقط Linux) | 5.2.0+ | |
| --randomx-wrmsr=N | نوشتن مقدار(های) دلخواه در رجیسترهای MSR یا غیرفعال کردن MSR mod (-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 | worker-id دلخواه برای API | 2.4.0+ | |
| --api-id=ID | instance ID دلخواه برای API | 2.4.0+ | |
| --http-host=HOST | میزبان اتصال (bind) برای HTTP API (پیشفرض: 127.0.0.1) | 5.0.0+ | |
| --http-port=N | پورت اتصال (bind) برای HTTP API | 5.0.0+ | |
| --http-access-token=T | توکن دسترسی برای HTTP API | 5.0.0+ | |
| --http-no-restricted | فعال کردن دسترسی کامل از راه دور به HTTP API (فقط اگر توکن دسترسی تنظیم شده باشد) | 5.0.0+ |
لاگ
| گزینهٔ کوتاه | گزینهٔ بلند | توضیح | نسخه |
|---|---|---|---|
| -S | --syslog | استفاده از لاگ سیستم برای پیامهای خروجی | All |
| -l | --log-file=FILE | نوشتن همهٔ خروجی در یک فایل | All |
| --print-time=N | نمایش گزارش هشریت هر N ثانیه | All | |
| --health-print-time=N | نمایش گزارش سلامت هر N ثانیه | 5.0.0+ | |
| --no-color | غیرفعال کردن خروجی رنگی | All | |
| --verbose | خروجی مفصل | 5.4.0+ |
سایر
| گزینهٔ کوتاه | گزینهٔ بلند | توضیح | نسخه |
|---|---|---|---|
| -c | --config=FILE | بارگذاری فایل پیکربندی با قالب JSON | All |
| -B | --background | اجرای ماینر در پسزمینه | All |
| -V | --version | نمایش اطلاعات نسخه و خروج | All |
| -h | --help | نمایش این راهنما و خروج | All |
| --dry-run | آزمایش پیکربندی و خروج | All | |
| --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 | اجرای stress test پیوسته برای بررسی پایداری سیستم | 6.4.0+ | |
| --bench=N | اجرای بنچمارک، N میتواند بین 1M و 10M باشد | 6.4.0+ | |
| --submit | اجرای بنچمارک آنلاین و ارسال نتیجه برای اشتراکگذاری | 6.5.0+ | |
| --verify=ID | بررسی بنچمارک ارسالشده بر اساس ID | 6.5.0+ | |
| --seed=SEED | seed دلخواه RandomX برای بنچمارک | 6.5.0+ | |
| --hash=HASH | مقایسهٔ نتیجهٔ بنچمارک با هش مشخصشده | 6.5.0+ | |
| --no-dmi | غیرفعال کردن خوانندهٔ DMI/SMBIOS | 6.8.0+ |
نیازمندیهای حافظه
2080 MB برای dataset در هر NUMA node؛ هر NUMA node معمولاً برابر با 1 سوکت CPU است و ماینر تعداد nodeها را هنگام شروع نمایش میدهد.
256 MB برای کش روی اولین NUMA node.
256 KB کش L2 و 2 MB کش L3 برای هر رشتهٔ استخراج.
نیازمندی کش CPU دلیل اصلی این است که ماینر روی بیشتر پردازندهها از همهٔ رشتهها استفاده نمیکند (پرسش بسیار رایج). در Windows ممکن است 4GB حافظه برای سیستم و ماینر کافی نباشد.
چند راه برای افزایش یا کاهش نیاز به حافظه وجود دارد:
huge pages با اندازهٔ 1GB در Linux، نیاز به حافظه را به 3GB (3 صفحه) برای هر NUMA node افزایش میدهد و هشریت را 1 تا 3% بالا میبرد.
غیرفعال کردن پشتیبانی از NUMA با "numa": false در شیء "randomx"؛ ماینر فقط از 1 dataset استفاده میکند، اما هشریت بهطور قابل توجهی کاهش مییابد؛ اگر فقط 1 NUMA node دارید این گزینه اثری ندارد.
حالت light در RandomX نیاز به حافظه را به 256 MB کاهش میدهد، اما این حالت بسیار کند است؛ با "mode": "light" در شیء "randomx" فعال میشود.
ممکن است به چند کانال حافظه نیاز باشد:
حافظهٔ DDR3 به حدود 1500-2000 H/s در هر کانال محدود است (بسته به فرکانس و تایمینگها)
حافظهٔ DDR4 به حدود 4000-6000 H/s در هر کانال محدود است (بسته به فرکانس و تایمینگها)
Huge Pages
Huge Pages میتواند کارایی RandomX را تا 50% افزایش دهد؛ huge pages با اندازهٔ 1GB (فقط Linux) هشریت را 1 تا 3% بیشتر از huge pages معمولی افزایش میدهد.
MSR mod برای prefetcherهای سختافزاری
برای رسیدن به کارایی بهینهٔ RandomX باید prefetcherهای سختافزاری را غیرفعال کنید.
Cache QoS
قابلیت آزمایشی برای جلوگیری از دسترسی همهٔ هستههای CPU که استخراج نمیکنند به کش L3، که تداخل با استخراج را کاهش میدهد.
