จะรู้ได้อย่างไรว่า noatime หรือ relatime เป็นตัวเลือก mount เริ่มต้นในเคอร์เนล?


17

ฉันพยายามที่จะรู้ว่ามีการตั้งค่า relatime หรือ noatime บนระบบไฟล์ แต่ฉันไม่พบข้อมูลทั้งใน / etc / fstab หรือในตัวเลือกการบูตเคอร์เนล

ก่อนอื่นดูเหมือนชัดเจนว่าฉันไม่มีพฤติกรรม "ปกติ" ในเวลา:

root@antec:/tmp# rm -f test.txt; echo a>test.txt

root@antec:/tmp# stat test.txt | \grep -i 2011
Access: 2011-08-01 21:54:30.000000000 +0200
Modify: 2011-08-01 21:54:30.000000000 +0200
Change: 2011-08-01 21:54:30.000000000 +0200

root@antec:/tmp# cat test.txt > /dev/null

root@antec:/tmp# stat test.txt | \grep -i 2011
Access: 2011-08-01 21:54:53.000000000 +0200
Modify: 2011-08-01 21:54:30.000000000 +0200
Change: 2011-08-01 21:54:30.000000000 +0200

root@antec:/tmp# date
Mon Aug  1 21:55:00 CEST 2011

root@antec:/tmp# cat test.txt > /dev/null

root@antec:/tmp# stat test.txt | \grep -i 2011
Access: 2011-08-01 21:54:53.000000000 +0200 <--- atime not modified
Modify: 2011-08-01 21:54:30.000000000 +0200
Change: 2011-08-01 21:54:30.000000000 +0200
root@antec:/tmp#

ฉันมีคำถามสองข้อ:
- noatime หรือ relatime เป็นตัวเลือกการเมานต์เริ่มต้นและถ้าใช่เคอร์เนลตัวใดปล่อย
- มีวิธีดูตัวเลือกการเมานต์เริ่มต้น (เช่น: ฉันจะดูได้อย่างไรว่าทำไมฉันถึงไม่มีพฤติกรรม "ปกติ" atime?)
คำถามมากมาย แต่ฉันคิดว่ามันเกี่ยวข้องกัน อย่าลังเลที่จะแก้ไขชื่อหากคุณมีชื่อชัดเจนมากขึ้น


อาจจะถามได้ที่ serverfault.com

คำตอบ:


15

สิ่งนี้ควรแสดงรายการตัวเลือกทั้งหมดที่ระบบไฟล์ติดตั้งด้วย:

cat /proc/mounts

ขอบคุณ ฉันเห็นว่า "ติด" ไม่แสดงทุกอย่าง! คุณรู้หรือไม่ว่าตัวเลือกการติดตั้ง "เพิ่มเติม" (เช่น: ตัวเลือกที่แสดงใน / proc / mounts แต่ไม่ได้อยู่ใน / etc / fstab) มาจากไหน? ฉันหมายถึงเคอร์เนลอ่านที่ไหน

เคอร์เนลมีค่าเริ่มต้นต่อท้ายเป็นตัวเลือกระบบไฟล์หากไม่มีการระบุค่าใด ๆ ค่าที่แน่นอนของตัวเลือกเริ่มต้นที่มีอยู่ในเคอร์เนล config เมื่อคุณรวบรวมเคอร์เนล
Clarus

google ไม่ส่งคืนอะไรใน "CONFIG_ relatime" และgrep -i relatime .configไม่ส่งคืนอะไรในเครื่องของฉัน ฉันพลาดอะไร ?

ตรวจสอบkerneltrap.org/node/14148
Clarus

ลิงก์พูดถึงตัวเลือกเคอร์เนล "CONFIG_DEFAULT_RELATIME" แต่ฉันไม่พบตัวเลือกนี้มันไม่ได้อยู่ในแหล่งเคอร์เนล (ฉันตรวจสอบใน 2.6.36 และ 3.0) ไม่ใช่ใน. config ของฉัน ฉันไม่เข้าใจว่าทำไม CONFIG_DEFAULT_RELATIME ไม่มีอยู่ในเคอร์เนลซอร์ส

2

คำถามนี้ค่อนข้างเก่า แต่คุณสามารถดูตัวเลือกเมานต์เริ่มต้นสำหรับระบบไฟล์ ext ด้วย:

tune2fs -l /dev/<device>

และบางคนจะติดตั้งโปรแกรมดังกล่าวอย่างไรเนื่องจากไม่ปรากฏว่าเป็นการรวมแบบมาตรฐาน
underscore_d

1
@underscore_d ใช้ "apt-get install e2fsprogs" หรือเทียบเท่าในพื้นที่ที่เหมาะสม
Peter Hansen

0

nfsstat -m จะให้รายการของการเมานต์และแฟล็ก NFS ทั้งหมดให้คุณ

จากที่กล่าวมาฉันต้องใช้cat /proc/mountsเคอร์เนลรุ่นเก่า 2.6.5 เนื่องจาก nfsstat -m ไม่ได้รับการสนับสนุน

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