เซิร์ฟเวอร์ X บนการ์ด NVIDIA ที่ไม่มีหน้าจอ


2

ฉันมีสถานการณ์ที่ไม่เหมือนใครที่ฉันมีเซิร์ฟเวอร์ที่มีการ์ดกราฟิก NVIDIA ติดตั้งอยู่ซึ่งเราจำเป็นต้องมีเซิร์ฟเวอร์ X ที่ทำงานอยู่บนเซิร์ฟเวอร์ สาเหตุของการมี X running คือการเรนเดอร์การดำเนินงานด้วยโปรแกรมที่ใช้ Qt มีประโยชน์อย่างมากในประสิทธิภาพโดยใช้การแสดงผล GPU มากกว่า CPU เมื่อใดก็ตามที่ฉัน startx, X ไม่สามารถเริ่มทำงานได้เนื่องจากไม่มีหน้าจอต่ออยู่ วิธีที่ดีที่สุดในการเริ่มต้น x ด้วยจอภาพปลอมคืออะไร ระบบปฏิบัติการคือ RHEL 6

คำตอบ:


4

ฉันไม่รู้ว่านี่เป็น 'วิธีที่ดีที่สุด' แต่มันเป็นวิธีที่ฉันทำ

ใช้ nvidia-settings GUI เพื่อสร้างไฟล์ edid สำหรับหน้าจอ

จากนั้นใน terminal ที่คุณเลือกวางหรือเขียน:

sudo nvidia-xconfig -a --allow-empty-initial-configuration \
--use-display-device="DFP-0" --connected-monitor="DFP-0" \
--custom-edid="DFP-0:/home/$USER/edid.txt" 

sudo reboot

ในการเพิ่ม GPU และหน้าจอใน xorg.conf

หากคุณต้องการโอเวอร์คล็อกและควบคุมพัดลมด้วยให้เพิ่ม '--cool-bits = 12' (หรือเอกสารใด ๆ ของ NVIDIA ที่บอกว่าใช้ได้กับไดรเวอร์ของคุณ) ในบรรทัด 'nvidia-xconfig' บน ด้านบน

หากคุณไม่มีวิธีสร้างไฟล์ edid หรือหาไฟล์ที่นี่ไม่ได้เป็นไฟล์ที่ฉันใช้:

00 ff ff ff ff ff ff 00 1e 6d f5 56 71 ca 04 00 05 14 01 03 80 35 1e 78 0a ae c5 a2 57 4a 9c 25 12 50 54 21 08 00 b3 00 81 80 81 40 01 01 01 01 01 01 01 01 01 01 1a 36 80 a0 70 38 1f 40 30 20 35 00 13 2b 21 00 00 1a 02 3a 80 18 71 38 2d 40 58 2c 45 00 13 2b 21 00 00 1e 00 00 00 fd 00 38 3d 1e 53 0f 00 0a 20 20 20 20 20 20 00 00 00 fc 00 57 32 34 35 33 0a 20 20 20 20 20 20 20 01 3d 02 03 21 f1 4e 90 04 03 01 14 12 05 1f 10 13 00 00 00 00 23 09 07 07 83 01 00 00 65 03 0c 00 10 00 02 3a 80 18 71 38 2d 40 58 2c 45 00 13 2b 21 00 00 1e 01 1d 80 18 71 1c 16 20 58 2c 25 00 13 2b 21 00 00 9e 01 1d 00 72 51 d0 1e 20 6e 28 55 00 13 2b 21 00 00 1e 8c 0a d0 8a 20 e0 2d 10 10 3e 96 00 13 2b 21 00 00 18 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 26

บันทึกไปที่ edid.txt ในโฮมไดเร็กทอรีของผู้ใช้ของคุณหรือเปลี่ยนตำแหน่งในบรรทัดการกำหนดค่า

หากคุณเปิดใช้งานการโอเวอร์คล็อกและต้องการใช้หน้าจอใน GPU หลักของคุณ:

sudo nano /etc/X11/xorg.conf

ลบเส้น:

Option         "UseDisplayDevice" "DFP-0"
Option         "CustomEDID" "DFP-0:/home/nv/edid.bin"
Option         "ConnectedMonitor" "DFP-0"

จาก 'ส่วน "หน้าจอ" "ที่มี GPUID ของคุณพร้อมกับหน้าจอที่เชื่อมต่อและกำหนดให้

โอเวอร์คล็อก!

พลังงาน จำกัด :

sudo nvidia-smi -i GPUID -pl WATTLIMIT

นาฬิกาหลัก:

nvidia-settings -c :0 -a [gpu:GPUID]/GPUGraphicsClockOffset[3]=16

: 0 คือหน้าจอ X ที่กำหนดให้กับ GPU, GPUID เป็นตัวเลขของ GPU (นับจาก 0)

16 == ชดเชย

ใช้ตัวเลขติดลบเพื่อทำให้เกิดขีด

นาฬิกาหน่วยความจำ:

nvidia-settings -c :0 -a [gpu:GPUID]/GPUMemoryTransferRateOffset[3]=1200

ถ้าคุณคุ้นเคยกับ Afterburner ฯลฯ คุณจะต้องเพิ่มค่าออฟเซ็ตใน Linux (ประมาณ) เป็นสองเท่า

ฉันมักจะได้รับน้ำมากขึ้นจากการ์ดของฉันบนระบบ Linux ( สำหรับการใช้งานของฉัน )

เปิดใช้งานและควบคุมแฟนด้วยตนเอง:

nvidia-settings -c :0 -a [gpu:GPUID]/GPUFanControlState=1
nvidia-settings -c :0 -a [fan:GPUID]/GPUTargetFanSpeed=85

ตั้ง GPUFanControlState กลับเป็น 0 เพื่อปิดการใช้งานการควบคุมด้วยตนเอง

GPUTargetFanSpeed ​​ใช้จำนวนเต็มตั้งแต่ 0 ถึง 100 เป็นอินพุต

ตรวจสอบอุณหภูมิการใช้พลังงาน ฯลฯ :

nvidia-smi

หากกระบวนการถูกล็อกในสถานะพลังงานต่ำโดย GPU วิธีแก้ปัญหาเดียวที่ฉันพบคือการสร้างโปรไฟล์แอปพลิเคชันไม่มีวิธีควบคุมสถานะ P อย่างน้อยในบัตรของผู้บริโภค

นี่คือกระบวนการ:

cd ~/.nv
cat > nvidia-application-profiles-rc

วางเทมเพลตนี้:

{
"rules": [
    {
        "pattern": {
            "feature": "procname",
            "matches": "NameOfRunningProcessThatWantsMorePriority"
        },
        "profile": "ProfileNameWhatever"
    }
],
"profiles": [
    {
        "name": "ProfileNameWhatever",
        "settings": []
    }
]
}

กด Enter จากนั้นกดปุ่ม CTRL + C ก่อนที่จะแก้ไขด้วยสิ่งที่เหมาะกับรสนิยมของคุณ

เริ่มกระบวนการของคุณและพิมพ์ nvidia-smi เพื่อรับชื่อกระบวนการเพื่อใช้ในโปรไฟล์แอปพลิเคชัน

อีกทางเลือกหนึ่งถ้าคุณเข้าถึง GUI คุณสามารถสร้างโปรไฟล์แอปพลิเคชันได้ที่นั่น

ในการกำหนดขีด จำกัด พลังงานที่กำหนดเองตลอดการเริ่มระบบใหม่ "โหมดการคงอยู่" จะต้องเปิดใช้งาน

วิธีเปิดใช้งานบน GPU ทั้งหมด:

sudo nvidia-smi -pm 1

วิธีเปิดใช้งานบน GPU เฉพาะ:

sudo nvidia-smi -i GPUID -pm 1

โหมดการคงอยู่จะช่วยให้มีความเร็วหากการทำงานแบบไร้สมองและการทำงานต่อเนื่องกันหลายขั้นตอนเนื่องจาก GPU ไม่เข้าสู่โหมดสลีประหว่างงานสิ่งนี้จะช่วยลดเวลาในการประมวลผลงานเล็ก ๆ จำนวนมาก!
จะเพิ่มการใช้งานเมื่อไม่ได้ใช้งาน!

ข้อมูลเพิ่มเติมเมื่อใช้ lightdm !!
วิธีปกติก่อให้เกิดปัญหาในระบบ Ubuntu รุ่นใหม่

เช่นเดียวกับทุกสิ่งทุกอย่างการกำหนดค่าสิ่งต่าง ๆ ให้ใช้บัญชีรูทหรือ sudo

การควบคุมพัดลม:

# DISPLAY=:0 XAUTHORITY=/var/run/lightdm/root/:0 nvidia-settings -c :0 -a [gpu:GPUID]/GPUFanControlState=1
# DISPLAY=:0 XAUTHORITY=/var/run/lightdm/root/:0 nvidia-settings -c :0 -a [fan:GPUID]/GPUTargetFanSpeed=70

เว่อร์ / underclock:

# DISPLAY=:0 XAUTHORITY=/var/run/lightdm/root/:0 nvidia-settings -c :0 -a [gpu:GPUID]/GPUGraphicsClockOffset[3]=64
# DISPLAY=:0 XAUTHORITY=/var/run/lightdm/root/:0 nvidia-settings -c :0 -a [gpu:GPUID]/GPUMemoryTransferRateOffset[3]=1100

# == รูทหรือ sudo

หากปัญหาเกิดขึ้นเมื่อทุกอย่างทำงาน (หรือไม่) NVIDIA ได้โพสต์ข้อความค้นหาที่ดีสำหรับการแก้ไขปัญหา

การค้นหา nvidia-smi ที่มีประโยชน์

อื่น ๆ ;

เคล็ดลับและเทคนิคของ ArchLinux Wiki บน NVIDIA

ภาคผนวก xconfig ไดรเวอร์ NVIDIA 384.98

เพียงเปลี่ยนรุ่นไดรเวอร์ใน URL เป็นรุ่นไดรเวอร์ของคุณและคุณจะถูกทาง


1
ดีใจที่ได้ช่วยเหลือ! ใช้เวลาสักครู่ในการคิดสิ่งนี้ดังนั้นถ้าฉันสามารถช่วยคนอื่นให้เกิดปัญหา .. :) คุณอาจต้องมีแพ็กเกจพิเศษบางอย่างถ้าคุณไม่ได้ติดตั้งเดสก์ท็อปในสภาพแวดล้อมใด ๆ แจ้งให้เราทราบหากคุณมีปัญหาใด ๆ
anders

1
และถ้าวิธีแก้ปัญหาช่วยคุณได้โปรดยอมรับมันเป็นคำตอบ
anders

แน่นอน. จะทำแค่ลองตอนนี้
Stuart Buckingham

ขอบคุณ Anders ที่ได้ลงรายละเอียดอย่างมาก! มีประโยชน์มากสำหรับฉันและหวังว่าคนอื่น ๆ
Stuart Buckingham
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.