เมื่อใช้ SSD ฉันต้องเปลี่ยนความรวดเร็วในการใช้งานเพื่อยืดอายุการใช้งาน SSD หรือไม่


35

ฉันพบบทความนี้ซึ่งรวมถึงข้อเสนอแนะต่อไปนี้:

สลับและรวดเร็ว

ฉันเก็บพาร์ติชั่นสว็อปไว้ใน HDD เก่า Swap บน SSD จะเร็วขึ้น แต่จะทำให้อายุการใช้งานของ SSD สั้นลง

ระบบของฉันมีหน่วยความจำมากมายดังนั้นฉันจึงลดค่า swappiness ให้เป็น 0 เพื่อบอกให้ Ubuntu เปลี่ยนเฉพาะเมื่อจำเป็นจริงๆ ฉันทำสิ่งนี้โดยเพิ่มบรรทัด vm.swappiness = 0 ถึง /etc/sysctl.conf

จริงหรือไม่ที่การตั้งค่าความว่องไวเป็นศูนย์จะช่วยเพิ่มอายุการใช้งานของ SSD ฉันไม่สามารถหาการอ้างอิงถึงที่อื่นได้

คำตอบ:


30

การลดความ swappiness ให้เป็น 0 หมายความว่าระบบปฏิบัติการจะเริ่มต้นใช้งาน SSD เพื่อแลกเปลี่ยนเมื่อไม่มี RAM ว่างเท่านั้น

ในทางทฤษฎีสิ่งนี้สามารถเพิ่มอายุการใช้งานของ SSD ได้เนื่องจาก SSD จะประสบปัญหาการเขียนน้อยลง ขึ้นอยู่กับว่าจะเพิ่มอายุการใช้งานของ SSD หรือไม่:

  • ลินุกซ์ไม่ค่อยใช้การแลกเปลี่ยน (โดยเฉพาะอย่างยิ่งเมื่อเทียบกับ windows)แม้ว่าจะมีค่า swappiness สูงกว่าเช่นกันดังนั้นการตั้งค่านี้จะไม่เปลี่ยนพฤติกรรมการสลับบนระบบที่มี RAM มากมายเมื่อเทียบกับการใช้ RAM หากคุณมี RAM น้อยการแลกเปลี่ยนอาจเกิดขึ้นได้ค่อนข้างบ่อยด้วยค่าเริ่มต้นที่ 60 ในกรณีนี้การลดความ swappiness อาจส่งผลกระทบอย่างมีนัยสำคัญต่อขีด จำกัด การเขียนของ SSD

  • ความทนทานในการเขียนของ SSD นั้นยังค่อนข้างสูงสำหรับการใช้งานที่เรียบง่ายสำหรับผู้บริโภคอย่างน้อยสำหรับSSD ที่ใช้MLC พวกเขาบอกว่า SSD ที่ใช้ MLC ปัจจุบันสามารถทนต่อ 3,000-5,000 เขียนรอบก่อนที่จะหมด การคำนวณด้วยขีด จำกัด 3000 ซึ่งหมายความว่า 128 GB SSD ที่มีการเขียน 10 GB ต่อวันจะทำงานได้อย่างมีความสุขสำหรับแคลิฟอร์เนีย 38000 วันนั่นหมายถึงแคลิฟอร์เนีย 100 ปี. หากคุณมี SSD ที่ใหญ่กว่าซึ่งแน่นอนว่าจะใช้งานได้ในภายหลัง ดังนั้นจึงเป็นไปได้ยากมากที่ SSD ของคุณจะตายเนื่องจากเซลล์เสื่อมสภาพ (แน่นอนว่าถ้าคุณใช้ SSD ของคุณในสภาพแวดล้อมแบบองค์กร / เซิร์ฟเวอร์การเขียนแบบรายวันจะสูงกว่ามาก แต่ในสภาพแวดล้อมแบบองค์กรมักจะใช้ SSD แบบSLC )

  • ขีด จำกัด การเขียนนี้สูงมากจนผู้ผลิต SSD (ตอนแรกของ SAMSUNG) เริ่มผลิตSSD ที่ใช้TLCสำหรับผู้บริโภค 1,000 รอบการเขียน แต่มีราคาถูกกว่า บริษัท เหล่านี้กล่าวว่าแม้ขีด จำกัด การเขียนของ SSD เหล่านี้จะนานกว่าเวลาที่คาดว่าจะใช้ผลิตภัณฑ์ (ไม่น่าเป็นไปได้ว่าในปี 2024 เราจะยังคงใช้ SSD ขนาด 128 GB ของเรา) แม้ว่าคุณจะมี SSD ที่ใช้ TLC และคุณเขียนไปยังไดรฟ์นั้นบ่อยครั้งเช่น 50GB / วันกว่าการลดค่า swappiness ตามอายุการใช้งานของ SSD
  • นี่คือหัวข้อยักษ์ที่ผู้ที่ชื่นชอบการทดสอบความทนทานของ SSD โดยเขียนถึงพวกเขาอย่างต่อเนื่อง แม้ว่าวิธีการทดสอบของพวกเขาอาจไม่ถูกต้องทั้งหมด แต่ผลลัพธ์ของพวกเขาค่อนข้างน่าประทับใจและผ่อนคลาย

ดังนั้นโดยสรุปแล้วในทางทฤษฎีแล้วการลดความ swappiness จะส่งผลให้อายุการใช้งานของ SSD ยาวนานขึ้นในทางปฏิบัติมันอาจจะไม่เกิดขึ้น แต่ถ้าคุณมี SSD ที่ใช้ TLC และคุณมี RAM น้อยและคุณมักจะเขียนไปยัง SSD บ่อยๆมันก็มีผลในทางปฏิบัติเช่นกัน

ฉันใช้ MLC ซึ่งเป็น SSD ขนาด 128 GB และส่วนใหญ่ฉันใช้ระบบของฉันสำหรับสำนักงาน / การท่องเว็บและฉันมี RAM จำนวนมากเมื่อเทียบกับการใช้ RAM ของฉันดังนั้น SSD ของฉันจึงไม่ได้รับภาระในการเขียนที่หนักหน่วง แต่เนื่องจากฉันไม่ต้องการสลับเลยและมันง่ายที่จะลดความว่องไวที่ฉันทำเพื่อตัวเองตั้งค่า swappiness เป็น 0 เมื่อฉันติดตั้ง SSD เพราะทำไมไม่ทำอย่างนั้น (ที่จริงแล้วฉันตั้งค่า swappiness เป็น 0 ในทุกเครื่องของฉันแม้แต่บนเครื่องที่มี HDD เท่านั้น)

คุณสามารถตรวจสอบว่า SSD ของคุณได้รับความเดือดร้อนมากน้อยเพียงใดในการใช้smartctlงานค้นหาสายที่Total_LBAs_Writtenจะแสดงให้คุณเห็นว่าภาค 512b ได้ถูกเขียนลง SSD (ใช่ฉันรู้ว่า SSD นั้นมีบล็อก 4K แบบกายภาพไม่ใช่ 512b แต่ SMART ยังบอกว่า: Sector Size: 512 bytes logical/physicalและด้วย 512 บล็อกฉันได้รับผลลัพธ์ซึ่งเปรียบได้กับtune2fs -lเอาต์พุตการเขียนตลอดอายุการใช้งาน) ดังนั้นจำนวนที่มี 512 และคุณเขียนไบต์ หรือสั้น:

sudo smartctl -a /dev/sda | grep Total_LBAs_Written | awk '{print $10*512/1024/1024/1024 " GiB"}'

จะพิมพ์ออกมาเป็น GiB สำหรับ / dev / sda (เพียงเปลี่ยนชื่ออุปกรณ์เป็นชื่อ SSD ของคุณ) SSD ขนาด 128 GB ของฉันมีปัญหา 800 GB เขียนในมากกว่าหนึ่งปีเล็กน้อยนั่นหมายถึงมีเพียง 7 รอบการเขียนที่ใช้จาก 3000


ด้วยระบบไฟล์หนึ่งสามารถตัดเพื่อลดการขยายการเขียน มีพาร์ทิชัน SWAP ที่เทียบเท่าหรือไม่
ไบรซ์

คำตอบนี้ดูเหมือนว่าจะถือว่า "swappiness" อยู่ในช่วงตั้งแต่ 0 ถึง 100 โดยที่ไม่มีค่าศูนย์หมายความว่าไม่มีการสลับ (และ 100 หมายถึงไม่มี RAM?) แต่คำตอบอีกข้อหนึ่งจะกล่าวถึงรายละเอียดเพิ่มเติมเกี่ยวกับswappinessค่าซึ่งบ่งชี้ว่าจำนวนอยู่ในช่วงตั้งแต่ 0 ถึง 200 และแสดงถึงน้ำหนักสัมพัทธ์ที่มีต่อการสลับประเภทต่าง ๆ
palswim

7

การพูดคุยทั้งหมดเกี่ยวกับการเสื่อมสภาพ SSD คือ "การคาดเดา" ฉันมีความรู้สึกเดียวกัน แต่เริ่มใช้พวกเขาในเชิงพาณิชย์ ฉันมีหนึ่งในออราเคิลคลัสเตอร์ที่เร็วที่สุดบนชายฝั่งตะวันออก 3 ปีที่แล้วเราก่อตั้ง SSD สำหรับการจัดเก็บและระบบไฟล์ชั่วคราวทั้งหมดของเรา เราทำการเขียนหลายพันล้านครั้ง / วันไปยัง SSD หลังจาก 3 ปีเราก็ยังไม่ได้มาใกล้ความเหนื่อยหน่าย 10% เลย หากฉันสามารถทำสิ่งนั้นได้ในเชิงพาณิชย์พวกเขาจะไม่เคยตกอยู่ในสถานการณ์ที่อยู่อาศัย ดังนั้น - ฉันใช้โซลูชัน SSD เฉพาะสำหรับพื้นที่สว็อปบนเวิร์กสเตชันและ BAM ของฉัน !!!

ดังนั้นไมล์สะสมของคุณจะแตกต่างกันไป แต่ SSD เป็นวิธีที่จะไปในทุก ๆ ทาง

เดฟ


SSD มีไว้สำหรับเซิร์ฟเวอร์สามารถเขียนได้มากกว่า (ราคาถูก) สำหรับผู้บริโภค
jarno

1
เข้าใจ แต่ฉันมี SSD สำหรับผู้บริโภคที่ติดตั้งในเวิร์กสเตชันที่เรียกใช้งานตลอด 24x7 และเราสำรองข้อมูล delta ทุกสองสามวัน แต่ไม่มีความล้มเหลวเพียงครั้งเดียวใน 2 ปี โปรดจำไว้ว่า MTBF สำหรับแผ่นดิสก์หมุนทางกายภาพคือ 3 ปีและจากประสบการณ์ของฉันในการขาย / ให้บริการระบบเป็นเวลา 25 ปีขึ้นไปนั่นเป็นความจริงที่ค่อนข้างแม่นยำ SSD มีประสิทธิภาพเหนือกว่าตัวเลือกอื่นทั้งหมดเชิงพาณิชย์หรือผู้บริโภค
TekOps

3

ใช่แล้ว คุณต้องเปลี่ยนความรวดเร็วเพื่อเพิ่มอายุการใช้งาน SSD

Swappiness ให้คุณควบคุมว่ามีการใช้ไฟล์ swap เท่าไร ค่า Swappiness สามารถเปลี่ยนได้จาก 0 ถึง 100 ค่า Swappiness ที่สูงกว่ายิ่งเคอร์เนลพยายามใช้พื้นที่สว็อปมากขึ้นค่า swappiness ที่ต่ำกว่าหมายถึงเคอร์เนลจะใช้พื้นที่สว็อปน้อยหรือไม่มีเลยขึ้นอยู่กับการตั้งค่าของเรา

ค่า swappiness เริ่มต้นจาก 60 ถ้าคุณมีแรมมากมายคุณควรหลีกเลี่ยงการใช้พื้นที่สว็อปซึ่งเขียนและอ่านไปยัง SSD ของคุณ แต่ไปยัง HDD สำหรับระบบที่มี RAM ขนาด 4 GB ขึ้นไปพยายามลดการใช้ swap โดยเปลี่ยนการตั้งค่า swappiness ให้อยู่ระหว่าง 10 ถึง 0 โดยไฟล์ swap อยู่บน HDD

การใช้พื้นที่สว็อปนั้นเป็นดิสก์ I / O ที่เข้มข้นมากและนั่นไม่ดีสำหรับ SSD SSD สามารถจัดการการเขียนจำนวนมากก่อนที่มันจะไม่ดีและคุณถูกบังคับให้ซื้อไดรฟ์อื่น ดังนั้นถ้าเป็นไปได้ให้ย้ายพื้นที่สว็อปของคุณไปยังไดรฟ์รองหมุน ... อยู่ห่างจาก SSD

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

คุณสามารถสร้างพาร์ติชันใหม่บนดิสก์ใหม่หรือเพียงแค่สร้างไฟล์สลับแทน การสร้างพาร์ติชันใหม่มักจะส่งผลให้มีประสิทธิภาพดีขึ้นมาก

หากคุณไม่มีไดรฟ์สำรองที่จะย้ายไปคุณสามารถเปลี่ยนการตั้งค่าที่จะเปิดใช้งานการสลับเฉพาะเมื่อ RAM จริงของคุณเต็ม 100% ซึ่งจะลดภาระใน swapfile ของคุณและช่วย SSD ของคุณ เพียงกดCtrl+ Alt+ Tบนแป้นพิมพ์เพื่อเปิด Terminal เมื่อเปิดขึ้นให้เรียกใช้คำสั่งด้านล่าง:

echo 0 > /proc/sys/vm/swappiness

การสึกหรอของ SSD นั้นเกี่ยวข้องกับวงจรการเขียน

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

ใช้ Trim

TRIM เป็นข้อดีที่คุณใช้กับ SSD มันทำงานในซอฟต์แวร์และสื่อสารกับคอนโทรลเลอร์ SSD โดยบอกว่าระบบไฟล์ไม่จำเป็นต้องใช้ 'บล็อก' อีกต่อไปและสามารถทำความสะอาดและเขียนทับได้อย่างปลอดภัย สิ่งนี้จะไม่ส่งผลให้ประสิทธิภาพดีขึ้น แต่จะยืดอายุการใช้งานของ SSD

แหล่งที่มา: Linux SSD Tweaks & วิธีการในการปรับแต่ง SSD ของคุณ


ฉันอยากจะรู้ว่ามีอะไรผิดปกติ? OP ถามว่าเขาต้องการเปลี่ยนความว่องไวของเขาเพื่อเพิ่มชีวิต SSD หรือไม่และคำตอบคือใช่เขาไม่จำเป็นต้องเปลี่ยนความว่องไว
มิทช์

ฉันเข้าใจว่า Ubuntu รุ่นล่าสุดใช้ TRIM สำหรับ SSD โดยอัตโนมัติ
Paddy Landau

Ubuntu ล่าสุดใช้ TRIM สำหรับ SSD บางรุ่นเท่านั้น @PaddyLandau
Bryce

2

จริงหรือไม่ที่การตั้งค่าความว่องไวเป็นศูนย์จะช่วยเพิ่มอายุการใช้งานของ SSD

มันจะทำให้ลินุกซ์ย้ายบล็อกหน่วยความจำน้อยลงในพาร์ทิชันสลับ โดยปกติการเขียนไปที่ swap จะใช้รอบการเขียนหากการแลกเปลี่ยนของคุณอยู่ใน SSD โปรดจำไว้ว่าการสลับใช้เมื่อจำเป็นเท่านั้นและถ้าคุณมี RAM เพียงพอคุณอาจทำได้ดีกว่าถ้าไม่มี (ยกเว้นกรณีที่คุณต้องการไฮเบอร์เนต แต่เป็นปัญหาอื่น)

ผลกระทบของการกระทำนี้อาจแตกต่างกันไป แต่การทำเพื่อบันทึกวงจรการเขียนบางอย่างใน SSD นั้นทำผิดไป SSD สมัยใหม่ (จากปี 2012 เป็นต้นไป) มีรอบการเขียนมากมายและประสิทธิภาพอาจลดลงสำหรับแอปพลิเคชันของคุณเมื่อคุณใช้ RAM เกือบหมด คุณใช้รอบการเขียนเพิ่มเติมในระหว่างการติดตั้งโปรแกรมมากกว่าการสลับที่ครบกำหนด โปรดจำไว้ว่าการแลกเปลี่ยนนั้นจะใช้เมื่อต้องการโดยค่าเริ่มต้นเท่านั้น

หากคุณกังวลเกี่ยวกับรอบการเขียน SSD ที่ใช้สำหรับการสลับคุณอาจลบ / ปิดการใช้งานการสลับทั้งหมดหากคุณมี RAM เพียงพอและเปิดใช้งานการสลับชั่วคราวใน HDD แทนการยุ่งกับการสลับ นั่นจะเป็นเส้นทางที่ดีที่สุด


0

ฉันขอแนะนำให้คุณเปลี่ยนการตั้งค่า swappiness เป็นค่าที่ต่ำที่สุดวิธีที่ดีที่สุดคือ "0" ถ้าคุณมีหน่วยความจำ / ram เพียงพอสำหรับ ram ของระบบของคุณ 4 GB ขึ้นไป แม้ว่า swappiness ที่ 10 กับระบบ ram สูงฉันแทบจะไม่เห็นอูบุนตูใส่อะไรลงในพาร์ทิชัน swap เพราะส่วนใหญ่ทุกอย่างอยู่บน ram แล้ว

ฉันค้นหาด้วยกูเกิลเล็กน้อยและพบหน้านี้http://namhuy.net/1563/how-to-tweak-and-optimize-ssd-for-ubuntu-linux-mint.htmlหน้านี้

อาจช่วยให้คุณปรับแต่งและปรับแต่ง SSD สำหรับระบบ Ubuntu ของคุณให้ทำงานได้อย่างมีประสิทธิภาพมากขึ้นและทำให้ ssd ของคุณใช้งานได้นานขึ้น


0

การเปลี่ยน swappiness อาจไม่มีผลกระทบจริง เราได้เล่นกับมันมากมายในระบบที่ขาด RAM และเราต้องการที่จะผลักดัน SSD ให้ได้มากที่สุดและมันส่งผลกระทบเล็กน้อยจริง ๆ รายการที่เหลืออยู่ในหน่วยความจำ (ซึ่งหมายความว่าพวกเขาต้องการ) นี่อาจเป็นจุดที่สงสัย


0

ฉันชอบความคิดในการตรวจสอบsmartctlผลลัพธ์ แต่รหัสของฉันมีขนาดเล็กกว่าเล็กน้อย ฉันไม่เคยเข้าใจเลยว่าทำไมคนถึงไม่รู้ว่าawkมีgrepความสามารถในตัว

sudo smartctl -a /dev/sdb | awk ' ($0 ~ /Total_LBAs_Written/) {print ($10*512)/(1024^3) " GiB"}'

แม้ว่านี่คือรหัสที่ฉันใช้:

sudo smartctl -a ${device} | awk ' ($0 ~ /Total_LBAs_Written/) { if (($10*512)/(1024^3) > 1000) { msg="TiB"; size=($10*512)/(1024^4); } else { msg="GiB"; size=($10*512)/(1024^3); }; printf "\nThis device has had %.2
f %s written to it.\n",size,msg; }'
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.