Thông báo "Không đủ dung lượng lưu trữ" lại xuất hiện. Lần trước dùng phần mềm dọn rác quét ra mười mấy GB, xóa một cú, sảng khoái -- hai tháng sau, mọi thứ lại như cũ.
Vấn đề không nằm ở việc bạn dọn không đủ thường xuyên, mà ở chỗ những thứ đã xóa sẽ tự lớn lại, còn phần luôn tăng lên thì phần mềm dọn rác chẳng đụng tới.
Những gì phần mềm dọn rác xóa, phần lớn là "sẽ tự lớn lại"
Mở bất kỳ công cụ dọn rác Mac nào, kết quả quét đứng đầu thường là các loại sau:
| Danh mục | Vị trí điển hình | Sau khi xóa sẽ ra sao |
|---|---|---|
| Cache ứng dụng | ~/Library/Caches |
Ứng dụng sẽ tạo lại khi mở lần sau |
| Cache trình duyệt | Chrome / Safari cache directory | Sau vài ngày lướt web là về lại |
| Nhật ký hệ thống, tệp tạm | /private/var/log、/private/var/folders |
Hệ thống liên tục ghi |
| Cache phát triển | Xcode DerivedData、node_modules、Docker images |
Tạo lại khi biên dịch, cài đặt dependency lần sau |
Mục đích tồn tại của cache là đổi chỗ không gian lấy tốc độ. Xóa đi, ứng dụng khởi động lần đầu sẽ chậm một chút, rồi lấy lại chỗ trống như cũ. Đây là nguyên nhân đầu tiên khiến "dọn xong hai tháng lại đầy": bạn đang dọn một cái hồ tự động bơm nước ngược lại.
Không có nghĩa là dọn cache vô ích -- việc nhường chỗ tạm thời để giải quyết khẩn cấp rất hiệu quả. Nhưng nếu bạn muốn ổ đĩa dài hạn không còn cảnh báo thiếu, phải nhìn vào loại tệp khác.
Những thứ thực sự tăng lên, là những thứ bạn "không chịu xóa"
Mở "Cài đặt hệ thống → Chung → Dung lượng lưu trữ", hoặc chạy trong terminal:
bash
du -sh ~/Pictures ~/Downloads ~/Desktop ~/Documents ~/Movies 2>/dev/null
Đa số người sẽ thấy, cái to lớn nhất không phải là cache, mà là những thứ này:
- Ảnh và ảnh chụp màn hình. iPhone một tấm ảnh 2–5 MB, ảnh thô từ máy ảnh JPEG có thể lên tới hơn 10 MB; ảnh chụp màn hình Retina bằng
⌘⇧4, một tấm PNG là 1–3 MB. Mấy tấm mỗi ngày, một năm là vài chục GB. - Hình trong công cụ nhắn tin. Hình chuyển trong nhóm chat, tài nguyên từ khách hàng, ảnh chụp màn hình công việc -- nhận một lần, máy tính sẽ có thêm một bản.
- Thư mục tải xuống. Bộ tài nguyên thiết kế, wallpaper, hình lưu từ web, tải về xong rồi không mở nữa.
- Tài nguyên trong dự án công việc. Ảnh xuất từ bản thiết kế, thư mục
images/của website, tệp nguồn ứng dụng, mỗi dự án đều mang theo một đống ảnh gốc kích thước lớn.
Điểm chung của những tệp này là: không thể xóa. Ảnh là kỷ niệm, ảnh chụp màn hình có thể cần xem lại, tài nguyên dự án vẫn đang dùng. Phần mềm dọn rác cũng biết điều này, nên chúng sẽ bị mặc định bỏ qua -- do đó phần thực sự đang tăng trưởng, mỗi lần dọn đều nguyên vẹn.
Không xóa được, thì hãy để nó nhỏ lại
Vì những ảnh này phải giữ lại, cách duy nhất còn lại là: trên cơ sở không ảnh hưởng đến việc xem, hãy giảm kích thước mỗi tấm ảnh.
Đa số ảnh từ khi tạo ra đã "béo phì":
- Máy ảnh và điện thoại để an toàn, dùng tham số chất lượng JPEG cao, kèm nhiều dữ liệu EXIF, thumbnail và các dữ liệu phụ;
- Ảnh chụp màn hình và ảnh xuất từ công cụ thiết kế, thường không được nén tối ưu hóa;
- Hình lưu từ web, nhiều cũng chưa bao giờ được xử lý nghiêm túc.
Những byte thừa này, mắt thường khó nhận ra sự khác biệt, nhưng lại thực sự chiếm chỗ trên ổ cứng. Chúng tôi đã thực hiện hai lần thử nghiệm công khai: 32.188 ảnh JPEG thô từ máy ảnh, sau nén tiết kiệm được 76,8%; một lô ảnh JPG đã được nén một lần trên web, nén thêm lần nữa vẫn tiết kiệm được 46,8% (chi tiết trong loạt bài "Thử nghiệm ImgZilla").
Nói cách khác, một thư mục ảnh 50 GB hoàn toàn có thể nhường ra 20–30 GB -- và những chỗ trống này không tự lớn lại.
Tại sao đa số người vẫn không nén ảnh
Lý do đều hiểu, nhưng ít người thực sự làm. Lý do rất thực tế:
- Sau khi nén tên tệp thay đổi. Nhiều công cụ sẽ lưu thành
xxx-min.jpghoặc xuất ra thư mục mới, xong bạn phải tự thay thế, xóa ảnh gốc, nếu thư mục lớn sẽ loạn. - Không dám động vào ảnh gốc. Nếu nén hỏng thì sao? Không có đường lui,干脆 không nén.
- Nén trực tuyến có giới hạn, còn phải tải lên. Mỗi lần 20 tấm, mỗi tấm 5 MB, ảnh riêng tư và tài nguyên công ty cũng không muốn tải lên máy chủ của người khác.
Ba điểm này, đúng là những gì chúng tôi muốn giải quyết khi làm ra ImgZilla.
ImgZilla: Kéo cả thư mục vào, nén nhỏ tại chỗ
ImgZilla là công cụ nén ảnh gốc macOS, chỉ làm một việc: nén nhỏ ảnh tại chỗ, không làm gì khác.
- Tên tệp, đường dẫn, định dạng đều không đổi.
IMG_2034.HEICsau nén vẫn làIMG_2034.HEIC, để trong thư mục cũ, sắp xếp thư viện, tham chiếu dự án đều không bị ảnh hưởng. - Kéo cả thư mục vào là xong. Tự động quét thư mục con, bỏ qua tệp ẩn và
node_modules. - Ảnh gốc mặc định vào thùng rác. Nếu không hài lòng, nhấp chuột phải vào thùng rác "Phục hồi vị trí gốc" để khôi phục. Xác nhận không vấn đề mới xóa sạch, chỗ trống mới thực sự được giải phóng.
- Hỗ trợ JPG、PNG、GIF、SVG、HEIC/HEIF、WebP、AVIF. Ảnh HEIC từ iPhone, ảnh PNG chụp màn hình, ảnh WebP lưu từ web đều được xử lý.
- Chạy hoàn toàn trên máy tính, không cần mạng. Ảnh không rời khỏi máy, cũng không giới hạn số lượng tấm mỗi lần hay kích thước mỗi tấm.
- Ảnh đã rất nhỏ không ép nén. Tỷ lệ nén dưới 0,4% sẽ được đánh dấu "Đã tối thiểu" và giữ nguyên, không vì con số đẹp mà làm ảnh mờ.
Sau khi nén, cửa sổ so sánh tích hợp (⌘D) có thể chia đôi, phóng to đến từng pixel để xem từng tấm -- không cần tin tưởng, hãy tự nhìn.
Bắt đầu từ đâu
Khuyên nên làm theo thứ tự "chiếm nhiều, rủi ro thấp":
- Thư mục ảnh chụp màn hình (mặc định trên桌面的, hoặc vị trí bạn tự định nghĩa): Ảnh PNG chụp màn hình thường tiết kiệm nhiều chỗ nhất, và gần như không có "lo âu về chất lượng".
- Thư mục tải xuống: Xóa những thứ thực sự không dùng trước, sau đó nén hết những ảnh còn lại một lần.
- Thư mục ảnh tự sắp xếp: Ví dụ ảnh nhập từ máy ảnh, ảnh xuất từ điện thoại được phân loại theo năm.
- Tài nguyên dự án công việc: Website, ứng dụng, thư mục thiết kế xuất, nén xong cũng giúp website và gói cài đặt nhẹ đi.
Có một chỗ không nên kéo trực tiếp vào: Thư viện ảnh của ứng dụng "Ảnh" (照片图库.photoslibrary). Nó là cơ sở dữ liệu do ứng dụng "Ảnh" quản lý, sửa trực tiếp tệp bên trong có thể làm thư viện bị hỏng. Muốn nén phần này, hãy xuất ra thư mục thường, hoặc bật tính năng "Tối ưu hóa dung lượng lưu trữ Mac" của iCloud để giao cho hệ thống xử lý.
Cũng xin lưu ý hai điểm để không mong quá cao:
- ImgZilla không chuyển đổi định dạng, không thay đổi độ phân giải. PNG sau nén vẫn là PNG, kích thước không đổi.
- Tiết kiệm được bao nhiêu phụ thuộc vào trạng thái ban đầu của ảnh. Ảnh đã được nén nghiêm túc, sẽ tiết kiệm ít hơn -- điều này bình thường.
ImgZilla hiện chỉ hỗ trợ macOS (12.3 trở lên), có thể tải trên Mac App Store. Phiên bản miễn phí có thể nén tối đa 10 tấm mỗi ngày, chỉ tính vào hạn mức khi nén thành công -- hãy thử một thư mục ảnh chụp màn hình trước, xem hiệu quả rồi mới quyết định.
Một bảng tóm tắt
| Cách làm | Chỗ trống giải phóng | Tự lớn lại không |
|---|---|---|
| Dọn cache、dọn nhật ký | Từ vài GB đến mười mấy GB | Có, bơm lại trong vài tuần |
| Xóa tải xuống、cài đặt không dùng | Tùy thói quen | Tùy thói quen |
| Nén ảnh và ảnh chụp màn hình tại chỗ | C càng nhiều càng tiết kiệm được nhiều | Không |
| Chuyển tệp lớn ra ổ cứng ngoài / đám mây | Nhiều | Không, nhưng truy cập trở nên khó khăn |
Mac liên tục bị đầy, không phải vì bạn dọn không đủ thường xuyên, mà vì luôn dọn phần "tự lớn lại". Hãy nén một lần những ảnh thực sự đang tăng trưởng, rồi hình thành thói quen "nén ngay khi ảnh mới vào". Lần thông báo sau sẽ đến muộn hơn nhiều.
