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 | ลายนิ้วมือ (fingerprint) ใบรับรอง TLS ของพูล สำหรับการตรึงใบรับรองแบบเข้มงวด | 2.8.0+ | |
| --dns-ipv6 | เลือกใช้เรคคอร์ด IPv6 จากผลตอบกลับ DNS ก่อน | 6.11.0+ | |
| --dns-ttl=N | TTL ของแคช DNS ภายใน N วินาที (ค่าเริ่มต้น: 30) | 6.11.0+ | |
| --daemon | ใช้ RPC ของ daemon แทนพูลสำหรับการขุดเดี่ยว (solo mining) | 3.0.0+ | |
| --daemon-poll-interval=N | ช่วงเวลาสอบถาม daemon เป็นมิลลิวินาที (ค่าเริ่มต้น: 1000) | 3.0.0+ | |
| --self-select=URL | เลือกเทมเพลตบล็อกเองจาก URL | 4.4.0+ | |
| --submit-to-origin | ส่งคำตอบกลับไปยัง URL ของ self-select ด้วย | 6.9.0+ | |
| -r | --retries=N | จำนวนครั้งที่ลองเชื่อมต่อใหม่ก่อนสลับไปเซิร์ฟเวอร์สำรอง (ค่าเริ่มต้น: 5) | ทุกเวอร์ชัน |
| -R | --retry-pause=N | เวลาหยุดรอระหว่างการลองใหม่แต่ละครั้ง (ค่าเริ่มต้น: 5) | ทุกเวอร์ชัน |
| --user-agent | กำหนดสตริง user-agent เองสำหรับพูล | 2.3.0+ | |
| --donate-level=N | ระดับการบริจาค ค่าเริ่มต้น 1% (1 นาทีจาก 100 นาที) | ทุกเวอร์ชัน | |
| --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 ที่กำหนด มาสก์ 0x3 สำหรับคอร์ 0 และ 1 | ทุกเวอร์ชัน | |
| -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 | เปิดการรองรับ huge pages สำหรับโค้ด JIT ของ RandomX | ทุกเวอร์ชัน | |
| --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 | ใช้ hugepages ขนาด 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 | กำหนด ID ของอินสแตนซ์เองสำหรับ API | 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 | ส่งข้อความออกไปยังล็อกของระบบ (system log) | ทุกเวอร์ชัน |
| -l | --log-file=FILE | บันทึกเอาต์พุตทั้งหมดลงไฟล์ | ทุกเวอร์ชัน |
| --print-time=N | แสดงรายงานแฮชเรตทุก N วินาที | ทุกเวอร์ชัน | |
| --health-print-time=N | แสดงรายงานสถานะอุปกรณ์ทุก N วินาที | 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 | กำหนด seed ของ RandomX เองสำหรับเบนช์มาร์ก | 6.5.0+ | |
| --hash=HASH | เปรียบเทียบผลเบนช์มาร์กกับแฮชที่ระบุ | 6.5.0+ | |
| --no-dmi | ปิดตัวอ่าน DMI/SMBIOS | 6.8.0+ |
ความต้องการด้านหน่วยความจำ
2080 MB ต่อหนึ่ง NUMA node สำหรับ dataset โดยปกติ 1 NUMA node เท่ากับ 1 ซ็อกเก็ต CPU ซอฟต์แวร์ขุดจะแสดง จำนวน node ตอนเริ่มทำงาน
256 MB สำหรับแคชบน NUMA node แรก
แคช L2 256 KB และแคช L3 2 MB ต่อ 1 เธรดขุด
ความต้องการแคช CPU คือเหตุผลหลักที่ซอฟต์แวร์ขุดไม่ใช้เธรดทั้งหมดบน CPU ส่วนใหญ่ (เป็นคำถาม ยอดฮิต) บน Windows หน่วยความจำ 4GB อาจไม่พอสำหรับทั้งระบบและซอฟต์แวร์ขุด
มีหลายวิธีในการเพิ่มหรือลดความต้องการหน่วยความจำ:
huge pages ขนาด 1GB บน Linux จะเพิ่มความต้องการหน่วยความจำเป็น 3GB (3 เพจ) ต่อ NUMA node และ เพิ่มแฮชเรตได้ 1-3%
ปิดการรองรับ NUMA ด้วย "numa": false ในออบเจ็กต์ "randomx" ซอฟต์แวร์ขุดจะใช้ dataset เพียง 1 ชุด แต่ แฮชเรตจะลดลงมาก หากมี NUMA node เพียง 1 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 สำหรับ hardware prefetchers
ต้องปิด hardware prefetchers เพื่อให้ได้ประสิทธิภาพ RandomX สูงสุด
Cache QoS
ฟีเจอร์ทดลองที่ป้องกันไม่ให้คอร์ CPU ที่ไม่ได้ใช้ขุดเข้าถึงแคช L3 ซึ่งช่วยลดการรบกวนการขุด
