Ubuntu มีคำสั่ง TRIM สำหรับใช้กับ SSD หรือไม่


34

ไดรฟ์ SSD จำเป็นต้อง "ล้าง / รีเซ็ต" หลังจากไดรฟ์เต็มเพื่อรักษาประสิทธิภาพ สิ่งนี้ทำผ่านคำสั่ง TRIM สำหรับไดรฟ์ SSD ใหม่ Ubuntu สนับสนุนคำสั่ง TRIM (ผ่าน hdparm ฯลฯ ) สำหรับการล้าง / รีเซ็ตไดร์ฟเหล่านี้หรือไม่?


เป็นคำถามที่ดี แต่โปรดทราบว่าระดับที่ TRIM ปรับปรุงประสิทธิภาพนั้นแตกต่างกันไปในบรรดา SSD แต่บางรุ่นก็ไม่ได้สร้างความแตกต่างอย่างที่คุณคิด
Nicholas Knight

1
ฉันคิดว่าประสิทธิภาพจะได้รับการกู้คืนเป็นค่าเริ่มต้นจากโรงงาน (ถ้าไม่ใกล้เคียง) ดูคำอธิบายได้ที่นี่ -> anandtech.com/show/2738/10
ssanj

คำตอบ:


24

ดูเหมือนว่ามีการรองรับฟังก์ชั่น TRIM ในรุ่น 10.10 และใหม่กว่า:

นอกจากนี้สิ่งที่เกิดขึ้นโดยอัตโนมัติของ TRIM - บล็อกว่างจะถูกปล่อยโดยอัตโนมัติเมื่อไม่ต้องการใช้อีกต่อไป (เช่นคุณลบไฟล์) หากดิสก์รายงานว่ามันรองรับ TRIM คุณไม่ต้องใช้คำสั่ง hdparm ด้วยตนเองเพื่อให้ทำงานได้


ฉันคิดว่าคุณยังคงต้องใช้เครื่องมือที่ "ส่ง" คำสั่งตัดไปยัง SDD เป็นเรื่องที่ดีถ้าทำงานตามที่คุณระบุ :) บทความ Anandtech นี้ -> ( anandtech.com/show/2738/10 ) ระบุว่าเพื่อให้ TRIM ทำงานทั้งระบบปฏิบัติการและ SSD ต้องการการรองรับ TRIM ฉันเดาว่าคำถามของฉันเกี่ยวกับการรองรับ OS / Linux สำหรับ TRIM เมื่อใช้กับไดรฟ์ SSD ที่รับรู้ TRIM
ssanj

3
คำสั่ง TRIM จำเป็นต้องรู้ว่าบล็อกใดที่จะทำให้ว่างดังนั้นมันอาจเป็นอันตรายในการออกโดยไม่ทราบว่าบล็อกใดในดิสก์ที่ไม่ได้ใช้ ใช่ทั้งระบบปฏิบัติการและดิสก์ต้องมีการรองรับการตัดแต่ง ใน Linux สิ่งนี้ถูกเพิ่มเข้ามาในเคอร์เนลเวอร์ชัน 2.6.33 ดังนั้นจะรวมอยู่ใน Maverick ทั้งไดรเวอร์ดิสก์ในระบบไฟล์ที่คุณใช้จำเป็นต้องรองรับการตัดแต่งเพื่อให้ทำงานได้อย่างถูกต้อง หากคุณใช้ ext4 เป็นระบบไฟล์ของคุณบน Maverick คุณน่าจะใช้ได้
Jeremy Kerr

ฉันสงสัยว่ามันจะเป็นไปได้หรือไม่ที่ SSD ที่มีอยู่จะได้รับการ "ดัดแปลง TRIM" เพื่อทำความสะอาด cruft ที่มีอยู่ก่อนการประมวลผลที่สนับสนุน TRIM หรือจำเป็นต้องติดตั้งใหม่
Kent Boogaart

20

คำตอบของ Jeremy นั้นไม่แม่นยำ AFAIK ทั้งหมด ฉันใช้เคอร์เนลที่เสถียรล่าสุดบน Lucid มาระยะหนึ่งแล้วและได้ติดตามสถานะของ TRIM ค่อนข้างดีเพราะฉันมี OCZ Agility เป็นดิสก์หลักของฉัน

นี่คือสิ่งที่ฉันรู้:

  • เคอร์เนลมีการรองรับ TRIM ตั้งแต่ 2.6.33 (ไม่ฝักใฝ่ฝ่ายใดคือ 2.6.35)

  • Ext4 มีการสนับสนุน TRIM แต่เมื่อjournalingถูกปิด

  • วิธีการทำงานของ TRIM ในเคอร์เนลนั้นพื้นฐานและช้ามาก ดิสก์ที่ตามข้อกำหนดสามารถยอมรับได้หลายช่วง แต่เคอร์เนลสามารถทำได้ทีละช่วงเท่านั้น นี่มาจากสิ่งที่ฉันอ่านเมื่อเดือนที่แล้ว ฉันหวังว่าฉันมีแหล่งที่มาเนื่องจากอาจไม่เป็นจริงหรืออาจใช้ไม่ได้อีกต่อไป

การจดบันทึกเป็นสิ่งที่ฆ่าเพื่อฉัน ข้อมูลเสียหายเป็น PITA

อย่างไรก็ตามรุ่นใหม่กว่าของ hdparm (v9.25 - ไม่ฝักใฝ่ฝ่ายใดอยู่ที่ v9.27) มาพร้อมกับสคริปต์ที่เรียกว่าwiper.shซึ่งทำการวิเคราะห์อย่างรวดเร็วของไดรฟ์แล้วจดจ้องพื้นที่ว่างทั้งหมด แทนที่จะเสียฟีเจอร์ฉันคิดว่ามันง่ายกว่า cron wiper.shในการรันสัปดาห์ละครั้ง (หรือวันละครั้ง / เดือน / อะไรก็ตาม) การลดลงของ SSD สำหรับไดรฟ์ระบบปฏิบัติการนั้นไม่ได้เกิดขึ้นเร็วขนาดนั้นเว้นแต่คุณจะทำสิ่งต่าง ๆ ขาดหายไป คุณไม่จำเป็นต้องปรับตามเวลาจริง

นอกจากนี้ยังมีส่วนหน้า GUI ที่เรียกว่าDiskTRIMซึ่งดูเหมือนจะไม่อยู่ใน repos ผู้ใช้ที่มีประสบการณ์น้อยอาจพบว่าการใช้งานนี้ง่ายกว่าการตั้งค่างาน cron

มี PPAs สำหรับ hdparm และ disktrim และทั้งหมดสามารถเรียกใช้บน Lucid (และเพิ่มเติมจากด้านหลัง) โดยไม่จำเป็นต้องใช้ 2.6.33+ เคอร์เนล


คุณสามารถลิงค์ไปยัง PPAs เหล่านั้นได้ไหม?
Jorge Castro

ดังนั้นการเปิดใช้งานdiscardตัวเลือกเมานท์สำหรับ ext4 จะเป็นการปิดการใช้งาน journalling หรือไม่? ฉันเพิ่งค้นหาการอ้างอิง แต่ไม่สามารถหาได้นอกเหนือจากคำตอบนี้ - คุณสามารถให้แหล่งข้อมูลได้หรือไม่
Hamish Downer

2
ใน Ubuntu 12.04 wiper.sh ถูกแทนที่ด้วย fstrim
tomodachi

1
@Oli: ฉันได้อ่านเพิ่มขึ้นและตอนนี้ฉันค่อนข้างมั่นใจว่าตัวเลือกการยกเลิกไม่ได้ปิดการใช้งานวารสาร เดิมทีตัวเลือกการยกเลิกใช้งานได้กับวารสารเท่านั้น (ฉันพบว่าแพทช์นี้อนุญาตให้ทิ้งโดยไม่มีวารสาร) หน้าเคอร์เนล ext4เอกสารตัวเลือกทิ้ง แต่ไม่ได้พูดถึงวารสารเข้ากันไม่ได้
Hamish Downer

8

Linux มีการรองรับ TRIM อัตโนมัติพร้อมระบบไฟล์ ETX4 ตั้งแต่เคอร์เนล 2.6.33

Ubuntu รุ่นแรกที่มีการสนับสนุน TRIM อัตโนมัติคือ 10.10 (Maveric) แต่จะต้องเปิดใช้งานใน fstab (ดังอธิบายที่นี่ )


4

โดยทั่วไปใช่เพราะมีหลายวิธีที่จะได้รับเมล็ดใหม่ หากเราชี้แจงคำถามของคุณให้ชัดเจนว่า "10.04 LTS ได้รับการสนับสนุนนอกกรอบคำสั่งหรือไม่" ดังนั้นคำตอบคือไม่ อย่างไรก็ตามทั้งสองไม่ฝักใฝ่ฝ่ายใดและเมล็ดของ Natty (-generic, -generic-pae, -Server และรสชาติ -virtual) ได้รับการ backported 10.04 LTS และมีอยู่จาก $ ปล่อยอัปเดตในที่เก็บ Ubuntu เช่นlinux-image-generic-lts-backport-maverickเป็นย้ายกลับไม่ฝักใฝ่ฝ่ายใดสุวิมล .


2

ฉันใช้ 11.04 และดูเหมือนว่า TRIM จะทำงานได้ตามกรอบ

ฉันทดสอบโดยใช้คำแนะนำที่นี่เพื่อสร้างไฟล์ลบมันและดูว่าภาคส่วนต่าง ๆ เป็นศูนย์ / ลบออกหรือไม่

ฉันพยายามเปิดใช้งาน TRIM โดยใช้คำแนะนำที่นี่แต่ไม่มีลูกเต๋า

ฉันวิ่ง wiper.sh ฉันเข้าใจ

/sbin/wiper.sh --verbose --commit / dev / sda1
wiper.sh: ยูทิลิตี้ Linux SATA SSD TRIM เวอร์ชัน 3.3 โดย Mark Lord
rootdev = / dev / sda1
fsmode2: fsmode = อ่าน - เขียน
/: fstype = ext4
freesize = 13785252 KB, สงวน = 137852 KB
การเตรียมสำหรับการตัดแต่งออนไลน์ของพื้นที่ว่างบน / dev / sda1 (ติดตั้งแบบอ่าน - เขียน ext4 ที่ /)

การดำเนินการนี้สามารถทำลายข้อมูลของคุณได้อย่างเงียบ ๆ คุณแน่ใจ (y / N)? Y
สร้างไฟล์ชั่วคราว (13647400 KB) ..
กำลังซิงค์ดิสก์ ..
การเริ่มต้นใช้งาน TRIM ..
get_trimlist = / sbin / hdparm --fibmap WIPER_TMPFILE.9689

/ dev / SDA:
ตัดแต่งเซกเตอร์ 27294800 จาก 462 ช่วง
ที่ประสบความสำเร็จ
ลบไฟล์ชั่วคราว ..
กำลังซิงค์ดิสก์ ..
เสร็จสิ้น

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

อยากรู้อยากเห็นถ้าใครได้รับมันไปทำงาน


หากคุณเพิ่มตัวเลือกทิ้งลงใน fstab และมันยังไม่ทำงานอาจเป็นจุดบกพร่องในอัลฟา คุณควรยื่นรายงานข้อผิดพลาด
Uli

ฉันเพิ่งทดสอบสิ่งนี้ใน natty (ทำตามคำแนะนำเหล่านี้: askubuntu.com/questions/18903/how-to-enable-trim ) และทำงานได้ดียิ่งขึ้นใน natty TRIM เกือบจะทันที
Uli

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