Hệ thống tập tin tốt cho / tmp?


31

Tôi đang nghĩ đến việc có / tmp trên phân vùng riêng của mình ... hệ thống tập tin tốt để định dạng nó là gì?

Lý do tôi hỏi là vì dữ liệu được lưu trữ trong / tmp không phải là vĩnh viễn, vì vậy tôi không cần ghi nhật ký, chỉ mục ưa thích hoặc bất cứ điều gì.

Câu trả lời:


27

Đôi khi tôi thấy việc chuyển /tmpsang ram ( tmpfs) là giải pháp tốt nhất (Đặc biệt là trên các thiết lập của tôi sử dụng nhiều công cụ IO chuyên sâu đĩa - MySQL, v.v.) nếu bạn có đủ RAM để cung cấp.


2
Tôi có 2GB RAM, vì vậy đó có lẽ không phải là một lựa chọn.
Nathan Osman

2
Trên thực tế điều này nên có nhiều RAM. / tmp thường không được sử dụng nhiều với việc sử dụng bình thường của hệ thống của bạn (bất kể đó là).
joschi

3
tmpfs sẽ sử dụng trao đổi nếu cần - vì vậy không gian hoán đổi của bạn có thể thực hiện nhiệm vụ kép là / tmp, không cần phân bổ thêm không gian.
gbroiles

@George Bạn dự định làm phân vùng / tmp lớn đến mức nào?
Marco Ceppi

1
@George đó là kích thước phân vùng đủ lớn cho /tmp- trên máy tính để bàn của tôi, tôi sử dụng tốt nhất 12MB, mặc dù trên máy chủ của tôi /tmpcó thể trở nên điên rồ khi khách hàng làm những điều ngu ngốc trong MySQL và các ngôn ngữ kịch bản gây ra /tmplớn hơn nhiều. Điều tuyệt vời với tmpfs là nó sẽ không mất 64 MB ram mà chỉ là một trần cứng. tmpfs sẽ mở rộng quy mô khi cần thêm không gian - vì vậy bạn chỉ tiêu thụ trong tmpfs những gì cần thiết tại thời điểm đó.
Marco Ceppi

25

Có một số lựa chọn tốt ở đây:

  1. tmpfs : là một hệ thống tập tin lưu trữ các tệp của nó trong RAM. Điều này không có nghĩa là hệ thống tập tin sẽ ăn hết RAM của bạn. Thay vào đó, nó chỉ mất số lượng nó thực sự cần. Thông thường chỉ cần một số MB. Nếu bạn sẽ sử dụng nó, hãy thêm một dòng như: none /tmp tmpfs size=64M,mode=1777 0 0vào của bạn /etc/fstab. Bạn có thể thay đổi sizegiá trị bạn thích. Nếu bạn nghĩ rằng tại một thời điểm nào đó quá ít, bạn có thể sử dụng mountđể tăng kích thước : mount -t tmpfs tmpfs /tmp -o size=128M,mode=1777,remount. Kích thước sẽ được tăng tại chỗ mà không xóa các tệp hiện có.
  2. ext2 / 3 : Bạn đã nói trong câu hỏi của mình rằng bạn không cần bất kỳ tính năng ưa thích nào. Tuy nhiên tôi sẽ tư vấn sử dụng một tạp chí. Bởi vì nếu bạn sử dụng ext2 và bạn có một số tiền khá lớn /tmp, việc kiểm tra sẽ mất một chút thời gian. khởi động ext3 nhanh hơn trong nhiều trường hợp. Vì vậy, tôi sẽ đề nghị sử dụng nhật ký.
  3. ext4 , reiserfs vv.: Một số phần mềm sử dụng /tmpđể lưu trữ số lượng lớn các tệp nhỏ. Vì vậy, trong một số trường hợp không còn khối miễn phí nữa và hệ thống tập tin đã đầy. ext4 và cũng reiserfs lưu trữ các tập tin theo một cách khác. Vì vậy, nó có thể là một lựa chọn tốt để sử dụng những người cho bạn /tmp.

Nếu máy tính của bạn chạy trong một thời gian dài, bạn nên xóa các tệp không sử dụng trong đó /tmp. tmpreaperlà một giải pháp mà làm điều đó cho bạn.

Tuy nhiên lựa chọn đầu tiên của tôi sẽ là sử dụng tmpfs.


Có phải tùy chọn đầu tiên với / etc / fstab cũng được áp dụng bằng systemd không?
Smile4ever

1
@ Smile4ever Có-- /etc/fstablà một phần của util-linux, vì vậy nó sẽ có mặt trên mọi hệ thống Linux bất kể hệ thống init nào đang được sử dụng.
Villapx

7

Nếu bạn không muốn nó có thể ăn RAM, tôi chỉ nên chạy nó dưới dạng ext2 . Không có lý do để ăn hiệu suất nhỏ của việc ghi nhật ký cho một hệ thống tệp có dữ liệu mà bạn không (không nên) quan tâm trên các lần khởi động lại.

Trên thực tế, có lẽ bạn nên sử dụng ext4 và vô hiệu hóa nhật ký của nó, nó sẽ nhanh hơn ext2. Định dạng nó ext4 và gắn nó fstabvới tùy chọn gắn kết data=writeback.


6

Việc sử dụng tmpfssẽ tốt cho nhu cầu của bạn, miễn là bạn đã cài đặt đủ RAM .

Điều đó đang được nói ... một cái gì đó nên được xem xét liên quan đến việc sử dụng một ramdisk cho /tmp(điều này được lấy từ một bài viết cũ hơn ở nơi khác ):

  • Có nên / tmp trên một vùng đĩa thực hoặc được phép triển khai cơ bản trên vùng SWAP (hoặc tmpfs) không?

Khi được sử dụng nhiều, đây là một sự cám dỗ - "chúng tôi sẽ đặt / tmp vào đĩa RAM, nó sẽ tăng tốc truy cập và khi hệ thống khởi động lại / tắt, không có gì để dọn sạch". Tuy nhiên, nếu bạn đang nghĩ đến việc triển khai không gian tạm thời như một đĩa RAM sẽ được hoán đổi, thì tôi sẽ xem xét việc phân chia sử dụng không gian hoán đổi hệ thống của bạn bằng các chương trình khác. Nếu trao đổi là một dạng "tràn khẩn cấp" khi hệ thống đang trong tình trạng căng thẳng và cần nó, điều cuối cùng bạn cần là có không gian hoán đổi được tiêu thụ bởi quá trình chạy / tmp, tiêu tốn bộ nhớ, gây áp lực lên Hệ thống con VM để trao đổi vào đĩa. Giữa hoạt động hoán đổi,seek()


5

Sử dụng ext4 với các tùy chọn gắn kết cụ thể sẽ ổn. Sử dụng các tùy chọn gắn kết sau đây:

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.

thêm vào đó là
gật đầu

noatime bao gồm
gật đầu

3

Tôi hài lòng với ext4. Bạn có thể chơi với một số tùy chọn gắn kết nếu bạn muốn điều chỉnh nó hoặc sử dụng tmpfs nếu bạn có nhiều ram.


2

Để trả lời cho những người hỏi về lý do tại sao bạn muốn phân vùng / tmp riêng biệt, tôi chắc chắn có nhiều lý do, như một số lý do đã nêu, nhưng một điều mà tôi thấy đặc biệt đáng tin cậy hiện nay là nếu bạn đang chạy / trên SSD, bạn muốn giảm thiểu việc ghi vào ổ đĩa đó, do đó di chuyển / tmp là một ý tưởng tốt vì đây là một khu vực của hệ thống tệp có xu hướng thay đổi nhiều.


0

Tôi nghĩ rằng tmpfs có thể là một lựa chọn tồi vì thông thường / tmp có thể ghi được trên thế giới nên bất kỳ ai cũng có thể lấp đầy nó và nếu nó lấp đầy, nó sẽ chiếm hết bộ nhớ của bạn và máy chủ của bạn sẽ chậm để thu thập dữ liệu


Tôi nghĩ rằng việc đặt kích thước tối đa hợp lý cho tmpfs và có không gian hoán đổi sẽ xử lý việc đó.
Oledit
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.