Score:1

Ubuntu ไม่สามารถบู๊ตได้หลังจากเปลี่ยนขนาดสว็อปและพื้นที่ว่างหมด

ธง ng

ฉันกำลังทำโปรเจ็กต์ที่ใช้หน่วยความจำจำนวนมากใน Python และได้รับข้อผิดพลาดอยู่เรื่อยๆ (137 SIGKILL 9 อะไรทำนองนั้น) ดังนั้นฉันจึงค้นหาวิธีแก้ไขและบอกว่าให้เปลี่ยนขนาดสว็อป ฉันคัดลอกและวางคำสั่งที่พบในเทอร์มินัล และเริ่มคัดลอกไฟล์บางไฟล์:

#ปิดการใช้งานการแลกเปลี่ยน
sudo swapoff -a

# สร้างไฟล์ SWAP ตรวจสอบว่าคุณมีพื้นที่เพียงพอในฮาร์ดดิสก์
# นี่คือขนาดของฉัน ขนาดรวมคือ bs*count B
sudo dd if=/dev/zero of=/swapfile bs=1024 count=136314880 status=progress
# เอาต์พุต:
# 139458259968 ไบต์ (139 GB, 130 GiB) คัดลอก, 472 วินาที, 295 MB/วินาที
#136314880+0 บันทึกใน
#136314880+0 บันทึกออก
# 139586437120 ไบต์ (140 GB, 130 GiB) คัดลอก, 472.372 วินาที, 296 MB/วินาที

# ทำเครื่องหมายไฟล์เป็นพื้นที่ SWAP:
sudo mkswap /swapfile
# เอาต์พุต:
# การตั้งค่า swapspace เวอร์ชัน 1 ขนาด = 130 GiB (139586433024 ไบต์)
# ไม่มีป้ายกำกับ UUID=25a565d9-d19c-4913-87a5-f02750ab625d

#เปิดใช้งานการแลกเปลี่ยน
sudo swapon /swapfile

# ตรวจสอบว่ามีการสร้าง SWAP หรือไม่
sudo swapon --แสดง
# เอาต์พุต:
# ชื่อ ประเภท ขนาด ที่ใช้ก่อน
# /swapfile ไฟล์ 130G 0B -2

# เมื่อตั้งค่าทุกอย่างเรียบร้อยแล้ว คุณต้องตั้งค่าไฟล์ SWAP เป็นถาวร มิฉะนั้น คุณจะสูญเสีย SWAP หลังจากรีบูต เรียกใช้คำสั่งนี้:
echo '/swapfile ไม่มีการแลกเปลี่ยน sw 0 0' | sudo tee -a /etc/fstab

หลังจากนั้นไม่นาน (ฉันคิดว่าถึงประมาณ 40 GB) ระบบของฉันก็ส่งข้อความแจ้งว่าพื้นที่เต็ม จากนั้นเทอร์มินัลทำงานเสร็จ ฉันวางคำสั่งที่เหลือเพื่อตั้งค่าการแลกเปลี่ยน และรีบูตเครื่องคอมพิวเตอร์ของฉัน จากนั้นเมื่อฉันบูตเครื่องอีกครั้ง ข้อความนี้แสดงว่า:

/dev/nvme0n1p6: สะอาด, 1090638/907808 ไฟล์, 35521979/36801792 บล็อก

และจะไม่บูตหลังจากนี้ ฉันเริ่มต้นในโหมดการกู้คืน ลองใช้ตัวเลือกบางอย่างที่นั่น (เช่น ล้างข้อมูล - ลองเพิ่มพื้นที่ว่าง ฯลฯ) แต่ไม่มีอะไรทำงาน นี่คือบทสรุปของระบบ:

ภาพหน้าจอแสดงการใช้งานดิสก์

ภาพหน้าจอแสดงการใช้หน่วยความจำ

ฉันเชื่อว่าฉันควรตรวจสอบว่าฉันมีพื้นที่เพียงพอในดิสก์หรือไม่ก่อนที่จะทำการเปลี่ยนแปลงการสลับ นอกจากนี้ ฉันคิดว่าสิ่งนี้อัปเกรดการแลกเปลี่ยนของฉันเป็น 40 + GB เมื่อฉันต้องการให้สูงสุด 8 GB... ฉันจะแก้ปัญหานี้และบันทึกข้อมูลของฉันได้อย่างไร โครงการนี้สำคัญมากสำหรับฉัน และฉันก็ไม่อยากเสียมันไป... ฉันสามารถย้อนกลับการเปลี่ยนแปลงที่ทำในเทอร์มินัลในโหมดการกู้คืนได้หรือไม่ ขอบคุณล่วงหน้า!!!

terdon avatar
cn flag
โปรด [แก้ไข] คำถามของคุณและรวมคำสั่งที่คุณเรียกใช้ วลี "*ฉันคัดลอกและวางคำสั่งที่ฉันพบในเทอร์มินัล*" เป็นเรื่องที่น่ากังวลอย่างยิ่ง (คุณสามารถทำ _anything_ ได้) และไม่ให้ข้อมูลมากนักสรุประบบของคุณแสดงว่าคุณไม่มีพื้นที่ว่างในพาร์ติชั่นรูทของคุณ ดังนั้นคุณจะต้องล้างไฟล์บางไฟล์ออก
zermelo avatar
ng flag
@terdon ขออภัย ฉันพบรหัสและวางลงไป ฉันทราบว่าพื้นที่ของฉันเต็ม และฉันคิดว่าการคัดลอกยังไม่เสร็จสิ้น ดังนั้นไฟล์ที่ถูกคัดลอกจึงเป็นสาเหตุของปัญหา ฉันจะค้นหาและลบได้อย่างไร
Score:4
ธง in

ดูเหมือนว่าคุณได้ขอให้คอมพิวเตอร์สร้างไฟล์สลับขนาด 130GB แทนที่จะเป็นไฟล์ขนาด 8GB คุณจะต้องทำสิ่งต่อไปนี้:

  1. บูตเข้าสู่การกู้คืน (หรือด้วยแท่ง USB แบบสด)
  2. ยืนยันว่าคุณไม่ได้ใช้ไฟล์สลับ:
    sudo swapoff -a
    
  3. ลบไฟล์สลับขนาดใหญ่ที่คุณสร้างขึ้น:
    sudo rm -f /swappyswapswap
    
    สิ่งสำคัญ: คุณจะต้องเปลี่ยนชื่อไฟล์ในคำสั่งนี้จาก สลับสับเปลี่ยน เป็นชื่อที่ถูกต้องของไฟล์ big swap ในของคุณ / ไดเรกทอรี ชื่อไฟล์ในคำสั่งนี้ผิดโดยเจตนา ดังนั้นคุณ â หวังว่า â อย่าคัดลอกสุ่มสี่สุ่มห้า sudo rm คำสั่งเนื่องจากไม่มีการเลิกทำ
  4. ยืนยันว่าระบบของคุณมีพื้นที่ว่างแล้ว:
    df -h
    
  5. สร้างไฟล์ 8GB ที่เต็มไปด้วยเลขศูนย์ซึ่งจะกลายเป็นการแลกเปลี่ยนของคุณ:
    sudo dd if=/dev/zero of=/swapfile bs=1M count=8192 status=progress
    
  6. ตั้งค่าไฟล์ใหม่เป็นการแลกเปลี่ยนของคุณ:
    sudo mkswap /swapfile
    
  7. เพิ่มไฟล์ swap ใหม่ให้กับคุณ /etc/fstab ไฟล์:
    sudo vi /etc/fstab
    
    บันทึก: อย่าลังเลที่จะใช้โปรแกรมแก้ไขข้อความที่คุณเลือกเพื่อแก้ไขไฟล์นี้ อย่าลืมเปิดไฟล์ด้วย ซูโด เนื่องจากเป็นของ ราก.

    เพิ่มบรรทัดนี้ที่ด้านล่าง:
    /swapfile ไม่มี swap sw 0 0
    
    วิธีนี้จะช่วยให้มั่นใจได้ว่าไฟล์ swap จะถูกเมานต์ทุกครั้งที่คุณรีบูต
  8. รีสตาร์ทระบบตามปกติ

อย่าลืมอ่าน ทำความเข้าใจ และเห็นด้วยกับทุกขั้นตอนเหล่านี้ก่อนที่จะคัดลอก/วาง

zermelo avatar
ng flag
ขอบคุณที่ได้ผล! ปัญหาเดียวคือสิ่งนี้พยายามสร้างการแลกเปลี่ยน 80 GB ดังนั้นฉันจึงเปลี่ยน bs=10M count=8192 เป็น bs=1G count = 8
in flag
ขอโทษ. คณิตศาสตร์ของฉันดับ â¦
zermelo avatar
ng flag
โอ้ ดีกว่านี้สอนให้ฉันคิดด้วยหัวของฉันเอง :D

โพสต์คำตอบ

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