ฉันคิดว่าจะมี / tmp บนพาร์ติชั่นของตัวเอง ... อะไรจะเป็นระบบไฟล์ที่ดีในการฟอร์แมตด้วย?
เหตุผลที่ฉันถามเป็นเพราะข้อมูลที่ถูกเก็บไว้ใน / tmp นั้นไม่ถาวรดังนั้นฉันไม่จำเป็นต้องทำการเจอร์นัลดัชนีแฟนซีหรืออะไรก็ตาม
ฉันคิดว่าจะมี / tmp บนพาร์ติชั่นของตัวเอง ... อะไรจะเป็นระบบไฟล์ที่ดีในการฟอร์แมตด้วย?
เหตุผลที่ฉันถามเป็นเพราะข้อมูลที่ถูกเก็บไว้ใน / tmp นั้นไม่ถาวรดังนั้นฉันไม่จำเป็นต้องทำการเจอร์นัลดัชนีแฟนซีหรืออะไรก็ตาม
คำตอบ:
บางครั้งฉันพบว่าการย้าย/tmp
ไปที่ ram ( tmpfs
) เป็นวิธีแก้ปัญหาที่ดีที่สุด (โดยเฉพาะอย่างยิ่งในการตั้งค่าของฉันซึ่งใช้ดิสก์ที่ใช้ IO เยอะมาก - MySQL และอื่น ๆ ) ถ้าคุณมี RAM เพียงพอที่จะให้อาหารมัน
/tmp
- บนเดสก์ท็อปของฉันฉันใช้งานได้ดีที่สุด 12MB แต่บนเซิร์ฟเวอร์ของฉัน/tmp
จะมีขนาดใหญ่มากเมื่อลูกค้าทำสิ่งที่โง่ใน MySQL และภาษาสคริปต์ที่ทำให้/tmp
ใหญ่ขึ้นมาก สิ่งที่ยอดเยี่ยมด้วย tmpfs คือมันจะไม่เพียง แต่เอา ram 64 เมกะไบต์ออกไปซึ่งเป็นเพียงเพดานที่แข็ง tmpfs จะปรับขนาดตามที่ต้องการพื้นที่มากขึ้น - ดังนั้นคุณใช้ tmpfs ในเวลานั้นเท่านั้น
มีตัวเลือกที่ดีหลายอย่างที่นี่:
none /tmp tmpfs size=64M,mode=1777 0 0
/etc/fstab
คุณสามารถเปลี่ยนsize
เป็นค่าที่คุณต้องการ หากคุณคิดว่าในบางจุดว่ามันน้อยเกินไปคุณสามารถใช้เพื่อเพิ่มขนาด:mount
mount -t tmpfs tmpfs /tmp -o size=128M,mode=1777,remount
ขนาดจะเพิ่มขึ้นโดยไม่ลบไฟล์ที่มีอยู่/tmp
ตรวจสอบจะใช้เวลาพอสมควร รองเท้า ext3 เร็วขึ้นในหลาย ๆ กรณี ดังนั้นฉันขอแนะนำให้ใช้ journalling/tmp
สำหรับการจัดเก็บไฟล์ขนาดเล็กจำนวนมาก ดังนั้นในบางกรณีไม่มีบล็อกว่างและระบบไฟล์เต็ม ext4 และ reiserfs จัดเก็บไฟล์ในวิธีที่แตกต่าง /tmp
ดังนั้นมันอาจจะเป็นทางเลือกที่ดีที่จะใช้เหล่านั้นสำหรับคุณ/tmp
หากคอมพิวเตอร์ของคุณทำงานเป็นเวลานานก็เป็นความคิดที่ดีที่จะลบไฟล์ที่ไม่ได้ใช้ใน tmpreaper
เป็นทางออกหนึ่งที่ทำเพื่อคุณ
tmpfs
แต่ตัวเลือกแรกของฉันจะใช้
/etc/fstab
เป็นส่วนหนึ่งของutil-linux
ดังนั้นมันจะปรากฏบนระบบ Linux ใด ๆ โดยไม่คำนึงถึงระบบ init ที่จะถูกใช้
หากคุณไม่ต้องการมันอาจกิน RAM, ฉันต้องการเพียงแค่เรียกใช้เป็น ext2 ไม่มีเหตุผลที่จะกินประสิทธิภาพเล็ก ๆ ของการทำเจอร์นัลสำหรับระบบไฟล์ที่มีข้อมูลที่คุณไม่ได้ (ไม่ควร) สนใจในการรีบูต
ที่จริงแล้วเกาว่าคุณควรใช้ ext4 และปิดการใช้งานวารสารของมันมันควรจะเร็วกว่า ext2 จัดรูปแบบเป็น ext4 และติดfstab
กับตัวเลือกการเมาdata=writeback
ท์
การใช้tmpfs
ควรจะปรับสำหรับความต้องการของคุณโดยที่คุณมี RAM เพียงพอที่ติดตั้ง
ที่ถูกกล่าวว่า ... สิ่งที่ควรพิจารณาเกี่ยวกับการใช้ ramdisk สำหรับ/tmp
(นี้นำมาจากการโพสต์เก่าที่อื่น ):
เมื่อมีการใช้งานอย่างหนักนี่เป็นสิ่งล่อใจ - "เราจะใส่ / tmp ลงในดิสก์ RAM มันจะเพิ่มความเร็วในการเข้าถึงและเมื่อระบบรีบูต / ปิดเครื่องจะไม่มีการทำความสะอาด" อย่างไรก็ตามหากคุณกำลังคิดที่จะใช้พื้นที่ชั่วคราวเป็นดิสก์ RAM ที่จะถูกสลับสับเปลี่ยนฉันจะพิจารณาการใช้พื้นที่สว็อปในระบบของคุณโดยโปรแกรมอื่น ๆ หากการแลกเปลี่ยนมีรูปแบบของ "ภาวะฉุกเฉินล้น" สำหรับเมื่อระบบอยู่ในภาวะที่น่ากลัวและจำเป็นต้องใช้สิ่งสุดท้ายที่คุณต้องการคือการมีพื้นที่สว็อปที่ถูกใช้โดยกระบวนการแบบไม่เต็ม / tmp ทำให้ใช้หน่วยความจำมากขึ้น ระบบย่อย VM เพื่อสลับไปยังดิสก์ ระหว่างกิจกรรมสลับseek()
การใช้ 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.
ฉันมีความสุขกับ ext4 คุณสามารถเล่นกับตัวเลือกการเมานท์บางตัวได้หากคุณต้องการปรับแต่งหรือใช้ tmpfs หากคุณมี RAM จำนวนมาก
ในการตอบสนองต่อผู้ที่ถามว่าทำไมคุณถึงต้องการแยก / tmp พาร์ติชันฉันแน่ใจว่ามีหลายเหตุผลตามที่บางคนได้ระบุไว้แล้ว แต่สิ่งหนึ่งที่ฉันพบโดยเฉพาะอย่างยิ่ง relavant วันนี้คือถ้าคุณทำงาน / บน SSD คุณต้องการลดการเขียนลงไดรฟ์นั้นให้น้อยที่สุดดังนั้นการย้าย / tmp จึงเป็นความคิดที่ดีเนื่องจากเป็นพื้นที่ของระบบไฟล์ที่มีการเปลี่ยนแปลงบ่อยครั้ง
ฉันคิดว่า tmpfs อาจเป็นตัวเลือกที่ไม่ดีเพราะโดยปกติแล้ว / tmp สามารถเขียนได้ทั่วโลกดังนั้นใคร ๆ ก็สามารถเติมเต็มได้และถ้ามันเติมเต็มมันจะใช้หน่วยความจำทั้งหมดที่คุณใช้และเซิร์ฟเวอร์ของคุณจะช้าในการรวบรวมข้อมูล