Để thử nghiệm, tôi cần bộ đệm của zfs ở trạng thái lạnh.
Tôi có thể xóa bộ nhớ đệm khỏi nhóm bằng cách xóa đĩa đệm, xuất và nhập nhóm. Điều này mang lại hiệu quả mà tôi muốn. Nhưng thực sự muốn không xuất hồ bơi.
Có cách nào ít quyết liệt hơn để đạt được hiệu quả tương tự không?
Những gì tôi đang tìm kiếm là tương đương với:
tiếng vang 3 > /proc/sys/vm/drop_caches
đó là những gì tôi muốn cho ext4.
Lý lịch
Tôi có thể chạy thuật toán của mình theo nhiều cách khác nhau. Tôi không quan tâm đến hiệu suất trường hợp tốt nhất. Tôi làm quan tâm đến hiệu suất trong trường hợp xấu nhất. Trường hợp xấu nhất sẽ xảy ra với dữ liệu nguội (dữ liệu đã được chạm vào từ lâu nên không còn trong ARC/L2ARC).
Để chọn cách tối ưu để chạy thuật toán, tôi cần có thể chạy trên cùng một bộ thử nghiệm. Và bộ thử nghiệm này phải lạnh. Điều này hoàn toàn đi ngược lại với chiến lược bộ nhớ đệm của ZFS: Nếu tôi chạy đi chạy lại cùng một bộ thử nghiệm, nó sẽ đưa dữ liệu vào ARC - điều này hoàn toàn hợp lý trong các trường hợp bình thường, nhưng không phải ở đây.
Tôi có thể xuất/nhập trên máy dành cho nhà phát triển của mình nhưng tôi không thể thực hiện việc này trong sản xuất. Tuy nhiên, xóa bộ nhớ cache, sẽ được chấp nhận trong sản xuất.
Tôi sẽ thích hơn nếu ARC vẫn hoạt động, vì vậy dữ liệu nguội được lưu vào bộ đệm sau khi được đọc (một lần nữa tương tự như ext4), nhưng tôi có thể sống với ARC bị vô hiệu hóa hoàn toàn trong quá trình thử nghiệm.