ฉันใช้ Ubuntu 20.04.3 LTS บนเครื่องสองเครื่อง (คอมพิวเตอร์ส่วนบุคคลและเซิร์ฟเวอร์ขนาดเล็กจากที่ทำงาน) ทั้งสองเครื่องมีการ์ด Nvidia เครื่องส่วนตัวมี RTX2080 Super ในขณะที่เซิร์ฟเวอร์รันด้วย RTX3090 สองเครื่อง
เรากำลังทำการวิจัยการเรียนรู้เชิงลึกในที่ทำงาน ดังนั้นฉันจึงใช้เครื่องจักรเป็นส่วนใหญ่สำหรับการรัน TensorFlow หรือเครื่องมือที่เกี่ยวข้องซึ่งใช้ประโยชน์จาก GPU
ฉันเป็นคนตั้งค่าทั้งสองเครื่องตั้งแต่เริ่มต้น ดังนั้นฉันจึงติดตั้ง Ubuntu 20.04.3 LTS ใหม่บนทั้งสองเครื่อง อัปเดต อัปเกรด ติดตั้งเครื่องมือพื้นฐาน ติดตั้งไดรเวอร์ Nvidia + CUDA สำหรับสิ่งนี้ ในทั้งสองเครื่อง ฉันใช้ตัวติดตั้ง runfile จากหน้าอย่างเป็นทางการของ Nvidia ที่นี่ สำหรับ CUDA ซึ่งมีไดรเวอร์ของ Nvidia ก่อนเรียกใช้โปรแกรมติดตั้งนี้ ฉันจะขึ้นบัญชีดำไดรเวอร์ Noveau ทุกครั้งตามที่แสดง ที่นี่ ตัวอย่างเช่น.
ฉันไม่คิดว่าตัวเองเป็นผู้ดูแลระบบที่มีประสบการณ์สูงสำหรับระบบดังกล่าว เนื่องจากฉันมาจากพื้นฐานการวิจัย ฉันเรียนรู้การใช้และเข้าใจ Linux ในช่วงหลายเดือนที่ผ่านมาจนถึงตอนนี้ ทุกอย่างที่เราต้องการสำหรับทีมเล็กๆ ของเราทำงานได้อย่างมีเสน่ห์ ยกเว้นปัญหาเล็กน้อยที่ฉันพบทั้งในเครื่องส่วนตัวและเซิร์ฟเวอร์การวิจัย ดูเหมือนว่าการติดตั้งไดรเวอร์ของฉันจะเสียเป็นประจำโดยที่ฉันไม่เข้าใจว่าทำไมและเมื่อไหร่กันแน่
ทำไมต้องพูดถึงทั้งสองเครื่อง? เพราะฉันคิดว่ามันเป็นปัญหาเดียวกันที่แสดงออกในสองวิธี:
(1) เครื่องส่วนตัวของฉันเป็นเครื่องที่ฉันใช้ทำงานและเขียนโค้ดด้วย มีจอแสดงผลติดอยู่และเป็นระยะ ๆ (ทุก ๆ 3-5 สัปดาห์ฉันจะบอกว่า) มันไม่บูตเข้าสู่หน้าจอเข้าสู่ระบบ แต่แสดงบรรทัดเดียวว่า:
/dev/nvme0n1p1: สะอาด
ฉันจำบรรทัดที่แน่นอนไม่ได้ แต่มีตำแหน่งของ SSD ของฉันและงานที่ "สะอาด" จากนั้นไม่มีอะไรเกิดขึ้นจากจุดนี้ ฉันมักจะแก้ปัญหาด้วยการเข้าสู่ระบบผ่าน Ctrl+Alt+F2 และเรียกใช้โปรแกรมติดตั้ง cuda/driver อีกครั้งด้วย:
sudo sh cuda_11.5.0_495.29.05_linux.run
แล้วรีบูต หลังจากรีบูต หน้าจอเข้าสู่ระบบของฉันกลับมาและทุกอย่างทำงานได้อีกครั้งฉันทำสิ่งนี้มาประมาณหนึ่งปีแล้วในเครื่องส่วนตัวของฉัน และไม่เคยรบกวนฉันมากในการหาว่าปัญหาอยู่ที่ไหน เพราะหลังจากติดตั้ง CUDA ใหม่แล้ว TF-GPU ใช้งานได้ UI ของฉันใช้งานได้ และ tbh นั่นคือทั้งหมดที่ฉันต้องการ
(2) มาถึงแล้ว เซิร์ฟเวอร์ไร้หน้าจอ มันทำงานไม่หยุดโดยไม่ต้องรีบูตเครื่อง แต่ในช่วงเวลาปกติ (3-5 สัปดาห์เดียวกัน) ทุกอย่างที่เกี่ยวข้องกับ GPU จะหยุดทำงาน สคริปต์ Python ที่ใช้ TensorFlow-GPU จะไม่พบ GPU อีกต่อไป
nvidia-smi
แสดงข้อความ:
NVIDIA-SMI ล้มเหลวเนื่องจากไม่สามารถสื่อสารกับไดรเวอร์ NVIDIA ตรวจสอบให้แน่ใจว่าได้ติดตั้งและเรียกใช้ไดรเวอร์ NVIDIA ล่าสุดแล้ว
วันหนึ่งทุกอย่างอยู่ที่นั่นและใช้งานได้และไม่ต้องจัดการอะไรในระบบด้วยตนเอง (เช่น การอัปเดต ฯลฯ ..) มันจะหยุดทำงานและแสดงข้อความนี้ ในกรณีของเครื่องส่วนตัวของฉัน เพียงแค่ติดตั้งไดรเวอร์ใหม่ก็จะแก้ไขปัญหาได้ แต่เนื่องจากมันเกี่ยวกับเซิร์ฟเวอร์ที่ฉันรับผิดชอบและมีผู้คนจำนวนมากใช้ ฉันจึงต้องแน่ใจว่ามีวิธีแก้ไขสำหรับมันและเข้าใจปัญหาโดยละเอียดเพื่อหลีกเลี่ยงปัญหาในอนาคต
ฉันเข้าไปดู /var/log/dpkg.log
เพื่อดูว่าฉันพบข้อความใดๆ ของโปรแกรมควบคุมที่อัปเดตอัตโนมัติหรือไม่ ฉันยังได้ดู Xorg, boot และบันทึกของระบบ แต่ฉันขาดความรู้ในการหาคำใบ้ของสิ่งที่ผิดพลาดในบันทึกเหล่านี้ สิ่งหนึ่งที่ฉันพบคือการทำงาน:
dpkg --รายการ | grep nvidia
จริง ๆ แล้วไม่ส่งคืนสิ่งใดเลยบนเซิร์ฟเวอร์nvidia-smi
จะพิมพ์ข้อความดังกล่าวข้างต้น
น่าแปลกที่ nvcc -- รุ่น
ยังใช้งานได้และให้:
nvcc: ไดรเวอร์คอมไพเลอร์ NVIDIA (R) Cuda
ลิขสิทธิ์ (c) 2005-2021 NVIDIA Corporation
สร้างเมื่อ Mon_Sep_13_19:13:29_PDT_2021
เครื่องมือคอมไพล์ Cuda รีลีส 11.5, V11.5.50
สร้าง cuda_11.5.r11.5/compiler.30411180_0
ดังนั้นดูเหมือนว่า CUDA จะยังคงอยู่ แต่ไดรเวอร์ nvidia ไม่ใช่
ทั้งบนเครื่องส่วนบุคคลและเซิร์ฟเวอร์ ฉันคิดว่ามันเป็นปัญหาเดียวกันเมื่อพยายามรัน nvidia-smi ในเทอร์มินัลในขณะที่เครื่องส่วนตัวของฉันเสีย มันจะแสดงข้อความแสดงข้อผิดพลาดเดียวกันให้ฉันเห็น และฉันแน่ใจว่าถ้าฉันแนบจอแสดงผลกับเซิร์ฟเวอร์ มันจะไม่แสดงการเข้าสู่ระบบ Ubuntu ให้ฉัน หน้าจออีกด้วย
สำหรับตอนนี้ ฉันไม่ได้เรียกใช้การติดตั้งซ้ำบนเซิร์ฟเวอร์ เนื่องจากฉันต้องการปล่อยให้มันอยู่ในสถานะ "ใช้งานไม่ได้" ในกรณีที่คุณมีคำแนะนำเกี่ยวกับตำแหน่งที่จะค้นหาปัญหา
ไม่ว่าในกรณีใด ขอขอบคุณล่วงหน้าสำหรับความช่วยเหลือของคุณ!