ข้อดี / ข้อเสียของการเพิ่ม "กระทำ" ใน fstab


14

ผมได้ทำหลายการเพิ่มประสิทธิภาพระบบการปิดบังในอดีตที่ผ่านมา แต่ผมได้กำจัดของที่สุดของพวกเขาหลังจากที่powertopบอกฉันว่าฉันควรตั้งพอร์ต USB ของฉันไปautosuspendซึ่งบังคับให้พวกเขานอนหลับนิรันดร์และหลังจากที่ผมตระหนักถึงประโยชน์ของสูงswappiness .

แต่วันนี้ในขณะที่กำลังมองหาที่/etc/fstabผมสังเกตเห็นฉันได้ตั้งค่าตัวเลือกcommit=60สำหรับ/และ/ home ฉันจำได้ว่านี่เป็นการเพิ่มประสิทธิภาพสำหรับแล็ปท็อปเพื่อลดปริมาณการเขียนลงดิสก์จึงช่วยประหยัดแบตเตอรี่ แต่แล้วผมก็กลายเป็นความกังวลที่ว่านี้การสูญเสียข้อมูลอาจทำให้ (บางครั้งแบตเตอรี่ของฉันได้รับการเชื่อมต่อและจากนั้นในการบูตfsckบอกฉันเกี่ยวกับคู่ของ inodes เด็กกำพร้า)

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

$ man mount | awk '/commit=/,/^$/'
commit=nrsec
    Sync all data and metadata every nrsec seconds. The default value is 5 seconds.
    Zero means default.

https://forums.gentoo.org/viewtopic-p-4088752.html

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

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

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

คำตอบ:


12

ความมุ่งมั่นทำอะไรจริงๆ?

ฉันคิดว่าหนึ่งในคำอธิบายที่ดีที่สุดที่ได้รับที่นี่โดยallquixotic

มีข้อดีของการเพิ่ม (เช่นการตอบสนองและประหยัดพลังงาน) จริง ๆ ? อาจทำให้ข้อมูลสูญหายได้จริงหรือ

ตามเอกสารอย่างเป็นทางการของ ext4 :

Ext4 สามารถบอกให้ซิงค์ข้อมูลและข้อมูลเมตาของทุก ๆ 'nrsec' วินาที ค่าเริ่มต้นคือ 5 วินาที ซึ่งหมายความว่าหากคุณสูญเสีย พลังงานของคุณคุณจะสูญเสียการทำงานมากถึง 5 วินาทีล่าสุด (ระบบไฟล์ของคุณจะไม่ได้รับความเสียหายเนื่องจากการทำเจอร์นัล) นี้ค่าเริ่มต้น (หรือมูลค่าต่ำใด ๆ ) จะเจ็บ ประสิทธิภาพ แต่มันเป็นเรื่องที่ดีสำหรับข้อมูลด้านความปลอดภัย การตั้งค่าเป็น 0 จะมีผลเช่นเดียวกับการปล่อยไว้ที่ค่าเริ่มต้น (5 วินาที) การตั้งค่า ให้เป็นค่าที่มีขนาดใหญ่มากจะช่วยเพิ่มประสิทธิภาพ

การเพิ่มcommitมูลค่าหมายความว่าคุณอาจสูญเสียงาน N วินาทีล่าสุด (โดยที่ N = ช่วงเวลาการส่ง) แม้ว่าเวลาส่วนใหญ่จะไม่เกิดขึ้นเนื่องจากซอฟต์แวร์ยังคงสามารถโทร fsync () และรับข้อมูลที่เขียนลงดิสก์ กระทำการตั้งค่า คุณอาจจะมองไปที่มันเป็น "เขียนทุกอย่างลงในดิสก์อย่างน้อยนี้มักจะ" 1
ในทางกลับกันหมายถึงการเขียนน้อยลง (ซึ่งทำให้ค่อนข้างเป็นที่นิยมในหมู่ผู้ใช้ ssd) และประสิทธิภาพที่ดีขึ้น (การเขียนหลายครั้งจะรวมกันเป็นหนึ่งการเขียนที่มีขนาดใหญ่กว่าเดียวการอัปเดตของการเขียนก่อนหน้านี้
สำหรับการประหยัดพลังงานตามหน้านี้ปรากฎว่าในปัจจุบันการเพิ่มcommitมูลค่าไม่ได้ประหยัดพลังงาน


1
ฉันคิดว่าการประหยัดพลังงานบางอย่างเกิดขึ้นเนื่องจากการจัดสรรส่วนขยาย + การจัดสรรล่าช้าสามารถเพิ่มประสิทธิภาพ HDD ได้ดีกว่ามาก แต่มันอาจจะไม่สำคัญ
peterh - Reinstate Monica
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.