Máy chủ của tôi có RAM 2 GB và SSD 120 GB, cùng với một số mảng RAID để lưu trữ. Hệ điều hành là Debian 8 (Linux 3.16).
Tôi có một ứng dụng mạnh mẽ của MySQL có tmpdir
= /run/mysqld
, được tmpfs
cấu hình bởi Debian thông qua /etc/default/tmpfs
:
# Size limits. Please see tmpfs(5) for details on how to configure
# tmpfs size limits.
TMPFS_SIZE=40%VM
Điều này đã từng 20%VM
, khoảng 384M. Tôi đã chạy đua với nhiều người no space left on device
, vì vậy tôi đã tăng nó lên 40%VM
, nhưng ngay cả với khoảng 763M, nó vẫn còn quá nhỏ.
Bây giờ tôi nên thêm RAM, nhưng vì tò mò, tôi muốn biết giới hạn ở đây.
/dev/sdd1
được gắn trên/
có khoảng 50 GB miễn phí và khá nhanh (SSD Samsung 850 EVO)/dev/sdd5
là phân vùng trao đổi của tôi, nó là 3.7G (ID loại fdisk là 82)TMPFS_SIZE
được đặt thành40%VM
, nghĩa/run
là 763M
Bây giờ tôi biết rằng tmpfs có thể trao đổi, điều đó là tốt với tôi. Tôi muốn MySQL ghi vào RAM bất cứ khi nào có thể, nhưng nếu nó cần thêm bộ nhớ, tôi có thể cho phép hệ thống trao đổi nó trên SSD.
Vì vậy, với thiết lập của tôi, tôi có thể đẩy /run
thành:
- Lớn 300M? Đúng. Đó là mặc định.
- 1,5 GB lớn? Có, đã thử, MySQL sử dụng tới 1,3 GB cho nó và hệ thống hoạt động như một cơ duyên. Nhưng đó vẫn là ít hơn một nửa bộ nhớ vật lý + phân vùng trao đổi.
- 2,5 GB lớn? Đây là nhiều hơn bộ nhớ vật lý, nhưng ít hơn một nửa bộ nhớ vật lý + phân vùng trao đổi của tôi.
- 4GB lớn? Điều này sẽ phù hợp chặt chẽ trong một nửa trao đổi vật lý +
- Hơn? thích 10GB? nó có thể sử dụng không gian trống trên
/
để trao đổi nhiều hơn?
Tôi đoán quy tắc an toàn là TMPFS_SIZE
không lớn hơn trao đổi + một nửa bộ nhớ vật lý. Tôi có thể vượt qua điều này mà không tăng phân vùng trao đổi?
Ngoài ra, nó có thể được đưa 200%VM
vào /etc/default/tmpfs
? Tôi đã đọc tmpfs(5)
mà không biết liệu tôi có thể đặt> 100% cho việc này không.
Cuối cùng, tôi có nên làm điều đó /etc/fstab
thay vào đó và không chạm vào /etc/default/tmpfs
?
(biết rằng tôi chỉ thực hiện với nó mount -o remount
, tôi chưa khởi động lại máy chủ)
Chỉnh sửa: cho câu hỏi cuối cùng, tôi biết nó có thể / có thể được sửa đổi bằng cách /etc/fstab
(xem trích dẫn bên dưới từ trang người đàn ông), tuy nhiên tôi muốn biết cách thực hành tốt nhất, bởi vì tôi chưa bao giờ chạm vào bất cứ điều gì /etc/default
cho đến nay.
Các tùy chọn gắn kết phức tạp hơn có thể được sử dụng bằng cách tạo một mục phù hợp trong / etc / fstab.