ระบบไฟล์ที่ดีสำหรับ / tmp?


31

ฉันคิดว่าจะมี / tmp บนพาร์ติชั่นของตัวเอง ... อะไรจะเป็นระบบไฟล์ที่ดีในการฟอร์แมตด้วย?

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

คำตอบ:


27

บางครั้งฉันพบว่าการย้าย/tmpไปที่ ram ( tmpfs) เป็นวิธีแก้ปัญหาที่ดีที่สุด (โดยเฉพาะอย่างยิ่งในการตั้งค่าของฉันซึ่งใช้ดิสก์ที่ใช้ IO เยอะมาก - MySQL และอื่น ๆ ) ถ้าคุณมี RAM เพียงพอที่จะให้อาหารมัน


2
ฉันมี RAM 2GB ดังนั้นนั่นอาจไม่ใช่ตัวเลือก
Nathan Osman

2
ที่จริงแล้วนี่น่าจะเป็นแรมมากมาย tmp / มักจะไม่ใช้ที่มากกับการใช้งานปกติของระบบ (สิ่งที่)
joschi

3
tmpfs จะใช้ swap หากต้องการ - เพื่อให้พื้นที่ swap ของคุณสามารถทำหน้าที่สองเท่าเป็น / tmp ไม่จำเป็นต้องจัดสรรพื้นที่เพิ่มเติม
gbroiles

@George คุณต้องการสร้างพาร์ติชัน / tmp ของคุณใหญ่แค่ไหน
Marco Ceppi

1
@ George ที่มีขนาดพาร์ติชันที่ใหญ่พอสำหรับ/tmp- บนเดสก์ท็อปของฉันฉันใช้งานได้ดีที่สุด 12MB แต่บนเซิร์ฟเวอร์ของฉัน/tmpจะมีขนาดใหญ่มากเมื่อลูกค้าทำสิ่งที่โง่ใน MySQL และภาษาสคริปต์ที่ทำให้/tmpใหญ่ขึ้นมาก สิ่งที่ยอดเยี่ยมด้วย tmpfs คือมันจะไม่เพียง แต่เอา ram 64 เมกะไบต์ออกไปซึ่งเป็นเพียงเพดานที่แข็ง tmpfs จะปรับขนาดตามที่ต้องการพื้นที่มากขึ้น - ดังนั้นคุณใช้ tmpfs ในเวลานั้นเท่านั้น
Marco Ceppi

25

มีตัวเลือกที่ดีหลายอย่างที่นี่:

  1. tmpfs : เป็นระบบไฟล์ที่เก็บไฟล์ไว้ใน RAM นี่ไม่ได้หมายความว่าระบบไฟล์จะกิน RAM ของคุณทั้งหมด แต่ใช้จำนวนเงินที่ต้องการจริงๆเท่านั้น โดยปกติแล้วจะมีเพียงบาง MB เท่านั้น ถ้าคุณจะใช้มันให้เพิ่มบรรทัดเช่น: ที่คุณnone /tmp tmpfs size=64M,mode=1777 0 0 /etc/fstabคุณสามารถเปลี่ยนsizeเป็นค่าที่คุณต้องการ หากคุณคิดว่าในบางจุดว่ามันน้อยเกินไปคุณสามารถใช้เพื่อเพิ่มขนาด:mount mount -t tmpfs tmpfs /tmp -o size=128M,mode=1777,remountขนาดจะเพิ่มขึ้นโดยไม่ลบไฟล์ที่มีอยู่
  2. ext2 / 3 : คุณพูดในคำถามของคุณว่าคุณไม่ต้องการคุณสมบัติแฟนซีใด ๆ อย่างไรก็ตามฉันจะแนะนำให้ใช้วารสาร เพราะถ้าคุณใช้ ext2 และคุณมีขนาดค่อนข้างใหญ่การ/tmpตรวจสอบจะใช้เวลาพอสมควร รองเท้า ext3 เร็วขึ้นในหลาย ๆ กรณี ดังนั้นฉันขอแนะนำให้ใช้ journalling
  3. ext4 , reiserfsเป็นต้น: ซอฟต์แวร์บางตัวใช้/tmpสำหรับการจัดเก็บไฟล์ขนาดเล็กจำนวนมาก ดังนั้นในบางกรณีไม่มีบล็อกว่างและระบบไฟล์เต็ม ext4 และ reiserfs จัดเก็บไฟล์ในวิธีที่แตกต่าง /tmpดังนั้นมันอาจจะเป็นทางเลือกที่ดีที่จะใช้เหล่านั้นสำหรับคุณ

/tmpหากคอมพิวเตอร์ของคุณทำงานเป็นเวลานานก็เป็นความคิดที่ดีที่จะลบไฟล์ที่ไม่ได้ใช้ใน tmpreaperเป็นทางออกหนึ่งที่ทำเพื่อคุณ

tmpfsแต่ตัวเลือกแรกของฉันจะใช้


ตัวเลือกแรกที่มี / etc / fstab ใช้กับ systemd ด้วยหรือไม่
Smile4ever

1
@ Smile4 ไม่ว่าใช่ - /etc/fstabเป็นส่วนหนึ่งของutil-linuxดังนั้นมันจะปรากฏบนระบบ Linux ใด ๆ โดยไม่คำนึงถึงระบบ init ที่จะถูกใช้
villapx

7

หากคุณไม่ต้องการมันอาจกิน RAM, ฉันต้องการเพียงแค่เรียกใช้เป็น ext2 ไม่มีเหตุผลที่จะกินประสิทธิภาพเล็ก ๆ ของการทำเจอร์นัลสำหรับระบบไฟล์ที่มีข้อมูลที่คุณไม่ได้ (ไม่ควร) สนใจในการรีบูต

ที่จริงแล้วเกาว่าคุณควรใช้ ext4 และปิดการใช้งานวารสารของมันมันควรจะเร็วกว่า ext2 จัดรูปแบบเป็น ext4 และติดfstabกับตัวเลือกการเมาdata=writebackท์


6

การใช้tmpfsควรจะปรับสำหรับความต้องการของคุณโดยที่คุณมี RAM เพียงพอที่ติดตั้ง

ที่ถูกกล่าวว่า ... สิ่งที่ควรพิจารณาเกี่ยวกับการใช้ ramdisk สำหรับ/tmp(นี้นำมาจากการโพสต์เก่าที่อื่น ):

  • ควร / tmp อยู่บนพื้นที่ดิสก์จริงหรือได้รับอนุญาตให้นำไปใช้โดยทั่วไปในพื้นที่ SWAP (หรือ tmpfs)?

เมื่อมีการใช้งานอย่างหนักนี่เป็นสิ่งล่อใจ - "เราจะใส่ / tmp ลงในดิสก์ RAM มันจะเพิ่มความเร็วในการเข้าถึงและเมื่อระบบรีบูต / ปิดเครื่องจะไม่มีการทำความสะอาด" อย่างไรก็ตามหากคุณกำลังคิดที่จะใช้พื้นที่ชั่วคราวเป็นดิสก์ RAM ที่จะถูกสลับสับเปลี่ยนฉันจะพิจารณาการใช้พื้นที่สว็อปในระบบของคุณโดยโปรแกรมอื่น ๆ หากการแลกเปลี่ยนมีรูปแบบของ "ภาวะฉุกเฉินล้น" สำหรับเมื่อระบบอยู่ในภาวะที่น่ากลัวและจำเป็นต้องใช้สิ่งสุดท้ายที่คุณต้องการคือการมีพื้นที่สว็อปที่ถูกใช้โดยกระบวนการแบบไม่เต็ม / tmp ทำให้ใช้หน่วยความจำมากขึ้น ระบบย่อย VM เพื่อสลับไปยังดิสก์ ระหว่างกิจกรรมสลับseek()


5

การใช้ ext4 พร้อมตัวเลือกการเมานท์ควรจะใช้ได้ ใช้ตัวเลือกการเมานต์ต่อไปนี้:

barrier=0 : Significantly improves file write operations in some scenarios
noatime : Don't update file last access time, you don't need this on /tmp files and it should help with write operations performance.

เพิ่ม nodiratime
Weboide

noatime รวมถึง nodiratime
zvolkov

3

ฉันมีความสุขกับ ext4 คุณสามารถเล่นกับตัวเลือกการเมานท์บางตัวได้หากคุณต้องการปรับแต่งหรือใช้ tmpfs หากคุณมี RAM จำนวนมาก


2

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


0

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


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