คุณควรปิดการใช้งานไฟล์หน้าด้วย SSD?


26

ฉันอ่านคำถามนี้แล้วและมีข้อมูลจำนวนมาก

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

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

พวกคุณคิดอย่างไร


ฉันจะทิ้งมันไว้ SSD ที่ทันสมัยควรอยู่ในระยะทางที่ไกลที่สุด ดู: storagesearch.com/ssdmyths-endurance.html
Matt

1
นอกจากนี้การให้ปริมาณงานของคุณเหมาะสมกับเซิร์ฟเวอร์ของคุณคุณควรจะเพจไปยังดิสก์ได้ยาก เมื่อเดือนที่แล้วโดยเฉลี่ยเซิร์ฟเวอร์ของฉันทำแค่ 100 หน้าต่อครั้ง / ทั้งเดือน
Matthew Ife

คำตอบ:


22

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

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

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

ตัวอย่างเช่นไดรฟ์ Intel X25-Eอ้างสิทธิ์ช่วงเวลาการเขียน 1 เพตาไบต์ของการเขียนแบบสุ่มสำหรับไดรฟ์ 32 GB หากคุณกำลังหยุดอินเทอร์เฟซการเขียน (200 MB / วินาที) แบบไม่หยุดทำงานพร้อมการเขียนทับการประเมินของฉันคือการใช้เวลาประมาณ 58 วัน แต่นั่นคือการเขียนข้อมูลขนาด 17 TB ต่อวันไปยังไดรฟ์นั้น

ปริมาณงานเซิร์ฟเวอร์ทั่วไปบนไดรฟ์ระบบปฏิบัติการจะไกลน้อยกว่าแม้ว่าคุณจะมีไฟล์เพจ เรียกมันว่า 50 GB ต่อวัน หากตัวเลข 1 PB มีความถูกต้อง (และฉันรู้ว่ามันอาจถูกพิจารณาว่าเป็นค่าเฉลี่ยและมีการอภิปรายเพิ่มเติมในภายหลัง) นั่นยังคงอยู่ที่ไหนสักแห่งทางตอนเหนือของ 50 ปี

ตัวเลขเหล่านั้นดูเหมือนผิดปกติสูงของหลักสูตรเพื่อให้ดูที่ตัวเลขที่แท้จริงโดยอ้าง Intel สำหรับยืนยาวที่คาดหวังของไดรฟ์ Intel ยินดีที่จะรับรองไดรฟ์ MLC (ไม่ใช่องค์กร) เพื่อเขียนข้อมูล 100 GB ทุกวันเป็นเวลาห้าปี ความเข้าใจมาตรฐานของแฟลช SLC กับ MLC บอกว่าแฟลช SLC มีอายุการใช้งานยาวนานกว่า MLC ประมาณ 10 เท่า (ลิงก์ด้านบนแสดงสิ่งนี้บนกราฟเช่นกัน)

แน่นอนว่าความจริงจะถูกพัดพาออกไปตามเวลา - เราจะเริ่มเห็นว่าไดรฟ์ล้มเหลวก่อน แต่ตัวเลขที่อยู่เบื้องหลังการไดรฟ์เพิ่มขึ้นถึงยืนยาวไดรฟ์ไม่เป็นปัญหากับ SSDs ที่มีคุณภาพที่ดีที่ทุกคน

หากคุณกำลังใช้ MLC SSD แสดงว่าคุณอาจกังวล แต่โปรดทราบว่าหาก Intel ยินดีให้คะแนนไดรฟ์ที่ 100 GB / วันเป็นเวลาห้าปีนั่นก็ยังคงเป็นพื้นฐานเท่ากับ 50 GB / วันเป็นเวลา 10 ปี และกลับไปที่จุดเริ่มต้นของฉันคุณยังจำเป็นต้องรู้ปริมาณงานจริงที่คุณจะทำบนไดรฟ์

โดยส่วนตัวผมขอบอกว่าอย่าใช้ MLC SSD ในสภาพแวดล้อมเซิร์ฟเวอร์ที่ใช้งานจริง ถ้า SLC SSD ที่ดีนั้นแพงเกินไปให้ลองหมุนดิสก์ตอนนี้

(นอกจากนี้ถ้าคุณทำตัวเลขให้พูด 100 GB ต่อวันเป็นเวลา 50 ปีซึ่งเป็น "SLC มีอายุการใช้งานนานกว่า 10x MLC" 10 เท่าดูเหมือนว่า Intel กำลังพูดถึงไดรฟ์ 32 GB จริง ๆ แล้วมีอายุการเขียนทั้งหมด ของข้อมูลใกล้เคียงกับ 2 PB ไม่ใช่ 1 PB ที่อ้างถึงในข้อมูลจำเพาะของผลิตภัณฑ์แม้ว่าฉันจะเชื่อใจเพียงเล็กน้อยจากค่าสองค่าเหล่านี้ที่จะมีความสุขที่ไดรฟ์ X25-E ของฉันน่าจะอยู่ได้นานกว่า 10 ปี)


ฉันคิดว่าฉันจะแก้ไขคำแถลงของฉันเกี่ยวกับการใช้ MLC SSD: ดูเหมือนว่าพวกเขาจะดีพอสำหรับการใช้ในองค์กร ฉันได้ยินมาว่าผู้ผลิตรายใหญ่รายหนึ่งที่ใช้ SLC SSD กำลังแทนที่ช่วง SLC ของพวกเขาด้วยแฟลช MLC และตัวควบคุมที่ชาญฉลาดกว่า
Daniel Lawson

15

นอกจากอายุการใช้งานที่ยืนยาวอาจไม่เป็นปัญหาอย่างที่ Daniel Lawson กล่าวถึงและข้อเสนอแนะจากทีม MS เอง (ด้านล่าง) ให้พิจารณา

  1. ไฟล์เพจจะใช้เมื่อจำเป็นเท่านั้น
  2. หากมีการใช้งานไฟล์เพจการมีไว้ใน SSD เทียบกับฮาร์ดไดรฟ์ที่กำลังหมุนจะสร้างความแตกต่างอย่างมหาศาล

ควรวาง pagefile บน SSD หรือไม่

ใช่. การดำเนินการ pagefile ส่วนใหญ่เป็นการอ่านแบบสุ่มขนาดเล็กหรือการเขียนเรียงลำดับที่ใหญ่กว่าซึ่งทั้งสองอย่างนี้เป็นประเภทของการดำเนินการที่ SSD จัดการได้ดี

ในการดูข้อมูล telemetry จากร่องรอยนับพันและมุ่งเน้นไปที่การอ่านและเขียนไฟล์เพจเราพบว่า

  • Pagefile.sys อ่านมากกว่าจำนวน pagefile.sys เขียนโดยประมาณ 40 ถึง 1
  • ขนาดการอ่าน Pagefile.sys มักจะค่อนข้างเล็กโดย 67% น้อยกว่าหรือเท่ากับ 4 KB และ 88% น้อยกว่า 16 KB
  • Pagefile.sys เขียนมีขนาดค่อนข้างใหญ่โดย 62% มากกว่าหรือเท่ากับ 128 KB และ 45% มีขนาดเท่ากับ 1 MB ในความเป็นจริงเนื่องจากรูปแบบการอ้างอิงไฟล์เพจทั่วไปและคุณสมบัติด้านประสิทธิภาพที่ดีที่ SSD มีในรูปแบบเหล่านั้นมีไฟล์น้อยกว่าไฟล์เพจเพื่อวางบน SSD

สนับสนุนและถาม - ตอบสำหรับ Solid-State Drives (MSDN)


9

แทนที่จะปิดใช้งาน pagefile พร้อมกันอาจเป็นประโยชน์ในการบอกให้ OS ไม่ใช้ (เช่นsysctl vm.swappiness=0)

ระบบปฏิบัติการจะหลีกเลี่ยงการใช้งานเว้นแต่จำเป็นต้องบันทึก SSD ที่ไม่จำเป็น


4
เยี่ยมมาก มีการปรับแต่งเช่นนี้สำหรับ windows?
Pyrolistical

ฉันไม่แน่ใจ แต่คุณอาจเลียนแบบได้โดยตั้งค่าขนาดไฟล์ของหน้าให้น้อยที่สุด (2MB) และปล่อยให้มันขยาย
MikeyB

5

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

ต้องบอกว่าฉันเคยใช้ Windows (XP) โดยที่ไม่มีไฟล์เพจในอดีตและมันก็มีความสุขอย่างสมบูรณ์แบบกับทุกสิ่งที่ฉันโยนลงไป มีความสงสัยอยู่ตลอดเวลาแม้ว่าจะมีบางอย่างเกิดขึ้นที่ไม่ชอบก็ตาม

ตัวเลือกอาจจะตั้งมันเล็กจริงๆ


ฉันไม่คิดว่าแอปสามารถตรวจพบว่าพวกเขากำลังใช้ ram หรือ swap แล้วมันมีความสำคัญอย่างไร
Pyrolistical

ระบบปฏิบัติการได้รับการปรับแต่งให้เปิดใช้งานหน่วยความจำเสมือนจริง ๆ คุณมีประเด็นเกี่ยวกับ SSD หรือฉันคิดว่าคุณพูดถูก - ฉันได้อ่านมากมายที่บอกว่ามีปัญหาการเขียนซ้ำ ๆ กับพวกเขาและหน่วยความจำเสมือนก็ทำเช่นนั้น คุณไม่สามารถวาง pagefile / swap บนดิสก์ที่เหมาะสมได้หรือไม่? (ดูเหมือนว่าจะตอบโต้ได้ง่าย ... )
Kyle Hodgson

ทำไมระบบปฏิบัติการถึงสันนิษฐานว่ามีไฟล์เพจ ลินุกซ์อย่างแน่นอนไม่ได้และผมไม่เคยเห็นเหตุผลที่จะเชื่อว่า Windows ไม่ใด ๆ ทั้ง
Mikeage

2
นี่คือเหตุผลที่เชื่อว่า Windows ทำ: blogs.msdn.com/ericlippert/archive/2009/06/08/…
dmo

3

นี่ไม่ใช่การตอบสนองโดยตรงต่อ OP แต่ฉันต้องการแก้ไขความประทับใจที่ผิดพลาดในคำตอบ / ความคิดเห็นข้างต้นโดย Ronald และ Daniel (ฉันใหม่จึงไม่มีคะแนนเพียงพอที่จะแสดงความคิดเห็น)

TRIMเป็นสิ่งที่ยิ่งใหญ่ที่สุดที่คุณสามารถทำได้เพื่อยืดอายุของ SSD นี่คือสาเหตุ: SSD เป็นระยะ "เก็บรวบรวมขยะ" - คัดลอกข้อมูล (แยกส่วน) จากบล็อกการลบที่ว่างเปล่าบางส่วนและเขียนมันอย่างต่อเนื่องในบล็อกที่ถูกลบใหม่

ที่อยู่ถูกแมปใหม่เพื่อให้โฮสต์ไม่จำเป็นต้องตระหนักถึงสิ่งนี้ กิจกรรมการเขียนพิเศษนี้ไม่เกี่ยวข้องโดยตรงกับโฮสต์การเขียนเรียกว่า "การขยายการเขียน" ในกรณีที่เลวร้ายที่สุดของ SSD เต็มรูปแบบที่มีพื้นที่เหลือเฟือเล็กน้อย (ที่ซ่อนอยู่) การขยายสัญญาณการเขียนสามารถอยู่ในช่วง 500% - 700% ของอัตราการเขียนโฮสต์!

ในระหว่างการรวบรวมขยะ SSD ไม่ต้องกังวลกับการคัดลอกและเขียนซ้ำหน้าเว็บที่ไม่ถูกต้อง (เขียนทับหรือเขียนทับ) ทำให้ประหยัดงานและเขียนได้อย่างมาก หากระบบไฟล์ลบไฟล์ที่มีขนาดใหญ่ แต่ไม่แจ้งให้ทราบทางไดรฟ์ผ่าน TRIM ไดรฟ์จะยังคงคัดลอกข้อมูลที่ลบไปรอบ ๆ การสูญเสียการเขียนไม่ จำกัด (หรือจนกว่าที่อยู่บล็อกเหล่านั้นจะได้รับมอบหมายให้กับไฟล์อื่น ๆ อาจเป็นเวลานาน)

ในการสรุป TRIM คือจริงๆสิ่งสำคัญที่ทั้งสองยืนยาวและประสิทธิภาพการทำงาน


2

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


2

เพียงใช้ฮาร์ดไดรฟ์ตัวที่สองสำหรับหน่วยความจำเสมือน


1
ฉันคิดว่าประเด็นคือเพื่อปรับปรุงประสิทธิภาพการแลกเปลี่ยนโดยใช้ SSD หากการเขียน pagefile ไปยัง SSD จะไม่เขียนลงในไดรฟ์ที่มีอยู่ การใช้ฮาร์ดไดรฟ์ปกติจะไม่ให้ประโยชน์ด้านประสิทธิภาพที่ SSD ต้องการ
jrista

เป็นไปไม่ได้ในแล็ปท็อปส่วนใหญ่
Brian Knoblauch

0

ฉันใช้แล็ปท็อปที่มี RAM 8 GB, SSD ไดรฟ์เดียวและไม่มีไฟล์หน้าเป็นเวลานานกว่าหนึ่งปีแล้วไม่มีปัญหา ฉันวิ่งเข้าไปในเกมหนึ่งที่ต้องใช้ไฟล์หน้าไปที่เว็บไซต์ซอฟต์แวร์และได้รับคำสั่งเรียกใช้เพื่อปิดการใช้งานแก้ไขปัญหาได้

แล็ปท็อปของฉันสี่ปี เก่า แต่ทำงานเร็วกว่าเดสก์ท็อปบางรุ่นที่ใหม่กว่า หน่วยความจำรั่ว, ไฟล์ SWAP หรือที่รู้จักกันว่าเป็นปัญหากับ Windows OS ตั้งแต่การสร้างเทคนิค น่าเสียดายที่นักพัฒนา Linux ติดตามด้วยเสียงฝีเท้า ยิ่งคุณใช้งานซอฟต์แวร์น้อยลงในพื้นหลังยิ่งดี (โดยเฉพาะถ้าเป็น Microsoft)


-1

ฉันจะบอกว่าอย่าใช้ swap หากคุณสามารถหลีกเลี่ยงได้ หรืออาจหันลงอย่างรวดเร็ว ในขณะที่ยากที่จะเสื่อมสภาพ (ใช้เวลานานเท่าใดในการเขียนไปยังไดรฟ์ทั้งหมด 100,000 ครั้งที่แบนด์วิดท์สูงสุดที่คุณมี) หากคุณไม่ต้องการ

จากนั้นอีกครั้งไฮเบอร์เนต (หยุดชั่วคราวไปที่ดิสก์) ไม่ทำงานหากไม่มีการสลับบางประเภท

เคยมีพฤติกรรมแปลก ๆ ที่ไม่มีการสลับ (เช่นในดิสก์ RAM ขนาด 50 MB เพื่อเปลี่ยนไปเป็น win) แต่นั่นเป็นแพตช์ที่ได้รับเมื่อฤดูร้อนที่ผ่านมา

ตอนนี้สิ่งที่เราต้องการก็คือฮาร์ดแวร์ที่รองรับคำสั่งลบ (Linux ได้รองรับเป็นเวลาหลายเดือน) และชีวิตบน SSD จะดูดี


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

จริงมากมันจะทำให้พวกเขาทำงานได้ดีขึ้น
Ronald Pottol

แดเนียล (และโรนัล): หาก SSD รู้ว่าส่วนของ "ดิสก์" ได้รับการปลดปล่อยหรือเป็นศูนย์ด้วย TRIM มันอาจจะไม่คัดลอกไปมาเมื่อทำการเลเวลการเขียนหรือการจัดการการเขียนขนาดเล็ก ซึ่งหมายถึงการเขียนที่น้อยลงและอายุการใช้งานที่มากขึ้นไม่ใช่? บางแหล่งว่าเห็นด้วยกับฉันที่ดูเหมือนของแข็ง: atpinc.com/Memory-insider/... superuser.com/questions/1063744/... wiki.archlinux.org/index.php/Solid_state_drive#TRIM - ทรัพยากรที่ดีสำหรับกรณีขอบ ฯลฯ
Matthew Elvey

-2

ฉันมี SSD ระดับองค์กรสองตัวที่ทำให้ฉันเหนื่อยมากก่อนกำหนด (นั่นคือภายในระยะเวลารับประกัน) ฉันคิดว่าเหตุผลคือการแลกเปลี่ยนอย่างหนักเนื่องจากการตีอย่างแรง ฉันมักจะรู้ว่าฉันมีกระบวนการที่ไม่จำเป็นในการรัน / buggy daemons ที่มีการรั่วไหลของหน่วยความจำเช่นว่ามีกิจกรรมการแลกเปลี่ยนอย่างหนักเกือบอย่างต่อเนื่อง ฉันทำงานiostat -n9 -w 10ในพื้นหลังเป็นครั้งคราวและสังเกตว่าบ่อยครั้งที่มีกิจกรรมบนฮาร์ดดิสก์อย่างต่อเนื่อง นอกจากนี้กิจกรรมเคอร์เนลกระบวนการ '(swap) ยังถูกบันทึกไว้เป็นแหล่งที่มาของ I / O ส่วนใหญ่ ฉันจำดีมอนหนึ่งตัวที่มีหน่วยความจำรั่วมาหลายเดือนและต้องการการฆ่าเป็นระยะ ฉันมักจะไม่แก้ไขปัญหายกเว้นว่าระบบจะช้าอย่างน่ารำคาญดังนั้นการ thrashing ก็ดำเนินต่อไปเป็นเวลานานก่อนที่ฉันจะใช้เวลาในการรีสตาร์ท daemon และอีกต่อไปสำหรับการรั่วไหลที่จะได้รับการแก้ไข

ในขณะที่การปิดใช้งานการสลับจะดึงดูดความสนใจของฉันไปยัง thrashing ดังนั้นปัญหาจะได้รับการแก้ไขก่อนที่จะเกิดการสึกหรอครั้งใหญ่บน SSD เกิดขึ้นมันไกลจากวิธีที่ดีที่สุดในการป้องกันความเสียหายดังกล่าว เครื่องมือการตรวจสอบ / การแจ้งเตือนใด ๆ ที่ดีจะดีกว่า

คำเตือนว่าหลายคำตอบที่ล้มเหลวในการรับทราบก็คือว่าถ้าเซิร์ฟเวอร์นวด SSD อย่างต่อเนื่องก็จะเผาไหม้ออกสวยได้อย่างรวดเร็ว-burnouts ภายในปีในสถานการณ์เช่นนี้เป็นเรื่องธรรมดา การ thrashing แบบคลาสสิกมักเกิดขึ้นเมื่อการแลกเปลี่ยนหน่วยความจำเสมือนหนักพอที่จะทำให้ไดรฟ์ (swap) ไม่ว่างส่วนใหญ่อยู่ในลำดับความสำคัญของแบนด์วิดท์ของ I / O สูงสุดและมีกระบวนการอย่างน้อยหนึ่งกระบวนการรอ O เพื่อทำให้เวลาส่วนใหญ่ที่ระบบอยู่ในสถานะนั้นเสร็จสมบูรณ์ คำตอบอื่น ๆคิดว่าระบบไม่ใช่thrashing อย่างน้อยไม่ได้ในลักษณะคลาสสิก; หรือพึ่งพาการเข้าใจผิดว่าการฟาดฟันคืออะไร และข้อสันนิษฐานที่ผิดแม้จะมีข้อมูลที่แม่นยำอื่น ๆ ก็นำไปสู่คำตอบที่ไม่ถูกต้องว่าทำไมการเพจถึงแม้ว่า SSD จะเป็นตำแหน่งเดียวที่เป็นไปได้สำหรับ swapfile แต่ก็เปิดใช้งานได้ดีที่สุด


-3

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


2
ฉันไม่เห็นด้วยกับคุณมากกว่านี้ ทำไมไม่ลองดูคำตอบที่ได้รับการยอมรับในคำถามที่โปสเตอร์นี้เชื่อมโยงไปถึง
Chopper3

2
Windows จะสร้างเพจไฟล์ในหน่วยความจำหรือไม่? วิธีที่ว่า?
Mark Sowul
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.