2023-09-10 · 9 phút đọc

Rò Rỉ Bộ Nhớ Monosnap: Tại Sao Công Cụ Chụp Ảnh Màn Hình Của Bạn Lại Ngốn Hết RAM

Bạn mở Trình quản lý Tác vụ để tìm hiểu lý do máy tính của bạn chạy chậm. Và đây rồi: Monosnap, một công cụ chụp ảnh màn hình, đang tiêu thụ 600 MB RAM. Hoặc 800 MB. Hoặc hơn một gigabyte. Đối với một ứng dụng có nhiệm vụ thỉnh thoảng chụp một vùng hình chữ nhật trên màn hình của bạn, điều đó thật vô lý.

Nếu điều này nghe có vẻ quen thuộc, bạn không đơn độc. Lỗi rò rỉ bộ nhớ của Monosnap trên Windows là một trong những vấn đề được báo cáo phổ biến nhất trong các cộng đồng công cụ chụp ảnh màn hình, và nó đã tồn tại qua nhiều phiên bản của ứng dụng. Hãy cùng chúng tôi phân tích điều gì đang thực sự xảy ra, bạn có thể làm gì về nó, và khi nào thì nên chuyển sang một công cụ hoàn toàn khác.

Rò Rỉ Bộ Nhớ Là Gì?

Rò rỉ bộ nhớ xảy ra khi một ứng dụng cấp phát RAM cho một tác vụ nhưng không bao giờ giải phóng đúng cách khi tác vụ hoàn thành. Mỗi thao tác tiêu thụ một lượng nhỏ bộ nhớ mà không bao giờ được trả lại cho hệ thống. Sau hàng giờ và nhiều ngày chạy, những cấp phát nhỏ này tích tụ thành mức tiêu thụ bộ nhớ đáng kể.

Rò rỉ bộ nhớ khác với việc một ứng dụng đơn thuần sử dụng nhiều bộ nhớ theo thiết kế. Một trình chỉnh sửa video có thể hợp pháp sử dụng vài gigabyte vì nó đang xử lý các tệp lớn. Một công cụ chụp ảnh màn hình sử dụng 800 MB khi nằm im trong khay hệ thống không làm bất cứ điều gì để biện minh cho mức tiêu thụ đó — nó đang bị rò rỉ.

Nguyên Nhân Gây Rò Rỉ Bộ Nhớ Của Monosnap

Nguyên nhân nội bộ chính xác phụ thuộc vào phiên bản bạn đang chạy, nhưng dựa trên phân tích hành vi của ứng dụng và các báo cáo từ cộng đồng, có một số yếu tố góp phần:

Giữ Lại Bộ Đệm Hình Ảnh

Khi Monosnap chụp ảnh màn hình, nó tạo ra một bitmap trong bộ nhớ của vùng đã chụp. Trong một ứng dụng hoạt động tốt, bộ đệm này sẽ được giải phóng ngay sau khi hình ảnh được lưu, sao chép hoặc tải lên. Trong Monosnap, các tham chiếu đến các bộ đệm này dường như tồn tại lâu hơn mức cần thiết, ngăn cản bộ thu gom rác thu hồi bộ nhớ.

Điều này dễ nhận thấy nhất khi bạn chụp nhiều ảnh màn hình trong một phiên. Mỗi lần chụp sẽ làm tăng bộ nhớ tích lũy, và mức tăng trưởng tỷ lệ thuận với số lượng và kích thước của các ảnh chụp.

Gánh Nặng Của Electron

Một số phần giao diện của Monosnap sử dụng Electron, về cơ bản là một trình duyệt Chromium chạy một ứng dụng web. Các ứng dụng Electron có một gánh nặng bộ nhớ cơ bản từ 80-150 MB chỉ riêng cho thời gian chạy. Khi kết hợp với các vấn đề quản lý bộ nhớ của chính ứng dụng, điều này tạo ra một điểm khởi đầu cao và chỉ tăng lên.

Bộ Nhớ Đệm Hình Thu Nhỏ và Xem Trước

Monosnap duy trì các hình thu nhỏ và bản xem trước của các ảnh chụp gần đây. Bộ nhớ đệm này dường như không có giới hạn kích thước hiệu quả hoặc chính sách loại bỏ, nghĩa là nó sẽ phát triển không giới hạn khi bạn sử dụng ứng dụng.

Xử Lý Tài Nguyên GPU

Trên các hệ thống có GPU chuyên dụng, quy trình chụp màn hình của Monosnap có thể không giải phóng đúng cách tài nguyên bộ nhớ GPU. Điều này không phải lúc nào cũng hiển thị trong cột bộ nhớ tiêu chuẩn của Trình quản lý Tác vụ nhưng góp phần gây áp lực bộ nhớ hệ thống tổng thể và có thể gây ra sự mất ổn định.

Cách Nhận Biết Nếu Bạn Bị Ảnh Hưởng

Mở Trình quản lý Tác vụ (Ctrl+Shift+Esc) và kiểm tra mức sử dụng bộ nhớ của Monosnap. Dưới đây là một hướng dẫn sơ bộ:

  • Dưới 100 MB: Mức bình thường cho một phiên bản vừa khởi động.
  • 100-300 MB: Tăng cao. Có thể có sự tích tụ rò rỉ bộ nhớ. Khởi động lại sẽ khắc phục tạm thời.
  • 300-800 MB: Rò rỉ đáng kể. Hệ thống của bạn đang bị ảnh hưởng.
  • Trên 800 MB: Nghiêm trọng. Bạn có thể đang gặp phải tình trạng chậm hệ thống trên diện rộng.

Nếu bạn thấy bộ nhớ tăng đều đặn theo thời gian mà không có hoạt động tương ứng, bạn đang gặp phải tình trạng rò rỉ bộ nhớ.

Các Giải pháp Tạm thời

Nếu bạn muốn tiếp tục sử dụng Monosnap bất chấp vấn đề về bộ nhớ, đây là những biện pháp giảm thiểu hiệu quả nhất:

1. Khởi động lại Monosnap thường xuyên

Cách đơn giản nhất: thoát và khởi chạy lại Monosnap sau mỗi vài giờ. Thao tác này sẽ giải phóng tất cả bộ nhớ đã tích lũy. Bạn có thể thiết lập một tác vụ trong Windows Task Scheduler để tắt và khởi động lại Monosnap theo lịch trình nếu muốn tự động hóa việc này.

2. Tắt các Tính năng Tự khởi động

Nếu Monosnap khởi động cùng Windows nhưng bạn chỉ sử dụng nó thỉnh thoảng, hãy tắt tính năng tự khởi động và chỉ mở khi cần. Điều này sẽ giảm thiểu thời gian tích lũy bộ nhớ.

3. Xóa Lịch sử Chụp

Định kỳ xóa lịch sử chụp và hình thu nhỏ đã lưu trong bộ nhớ cache của Monosnap. Việc này có thể thực hiện thông qua cài đặt ứng dụng. Nó sẽ không khắc phục lỗi rò rỉ cốt lõi, nhưng sẽ giảm thành phần bộ nhớ cache của hình thu nhỏ.

4. Tắt các Tính năng Đồng bộ hóa Đám mây

Một số người dùng báo cáo rằng việc tắt tính năng tải lên đám mây tự động giúp giảm sự tăng trưởng bộ nhớ. Hàng đợi tải lên dường như vẫn giữ các tham chiếu đến dữ liệu hình ảnh ngay cả sau khi quá trình tải lên hoàn tất. Nếu bạn không cần tải lên tự động, hãy tắt nó và tải lên thủ công khi cần.

5. Giảm Chất lượng Chụp

Giảm độ phân giải chụp hoặc mức độ nén có nghĩa là bộ đệm hình ảnh nhỏ hơn. Điều này không khắc phục lỗi rò rỉ, nhưng làm chậm tốc độ tăng trưởng bộ nhớ vì mỗi bộ đệm bị rò rỉ đều nhỏ hơn.

Khi nào nên Chuyển đổi Công cụ

Các giải pháp tạm thời có thể hữu ích trong một thời gian, nhưng việc quản lý rò rỉ bộ nhớ là một công việc bảo trì liên tục mà bạn không nên phải thực hiện đối với một công cụ chụp màn hình. Hãy cân nhắc chuyển đổi nếu:

  • Bạn để máy tính chạy trong thời gian dài (qua đêm, cuối tuần)
  • Bạn chụp nhiều ảnh màn hình trong suốt cả ngày (nhà phát triển, QA, nhà thiết kế)
  • Hệ thống của bạn có RAM hạn chế (8 GB trở xuống) mà ở đó một lỗi rò rỉ 500 MB là đáng kể theo tỷ lệ
  • Bạn đã gặp phải tình trạng mất dữ liệu do Monosnap bị treo gây ra bởi việc cạn kiệt bộ nhớ
  • Bạn dành hơn vài phút mỗi tuần để xử lý việc khởi động lại Monosnap

Giải pháp lâu dài: Chuyển sang công cụ gốc (Native Tool)

Nguyên nhân gốc rễ của vấn đề bộ nhớ của Monosnap là do kiến trúc. Các ứng dụng dựa trên Electron với quản lý bộ nhớ không đầy đủ sẽ luôn có xu hướng gặp phải hành vi này. Không có giải pháp khắc phục nào từ phía người dùng có thể sửa chữa một lỗi rò rỉ tồn tại trong mã của ứng dụng.

Maxisnap được xây dựng như một ứng dụng Windows gốc (native) đặc biệt để loại bỏ loại vấn đề này. Không có lớp Electron, không có chi phí vận hành thời gian chạy web. Các bộ đệm hình ảnh được cấp phát và giải phóng một cách xác định. Thử nghiệm của chúng tôi cho thấy mức tiêu thụ bộ nhớ ổn định khoảng 30-40 MB ngay cả sau hơn 72 giờ sử dụng liên tục với khối lượng công việc chụp ảnh tích cực.

Bộ tính năng bao gồm quy trình làm việc chụp màn hình cốt lõi: chụp vùng, chụp cửa sổ, chụp toàn màn hình, chú thích (mũi tên, văn bản, hình dạng, làm mờ, đánh số), tải lên đám mây và tùy chỉnh phím tắt. Lưu ý rằng Maxisnap không bao gồm quay video — nó tập trung vào chụp màn hình và chú thích. Việc chuyển đổi chỉ mất khoảng năm phút — chúng tôi có một hướng dẫn di chuyển từng bước nếu bạn muốn giữ lại cài đặt phím tắt của mình.

Còn các lựa chọn thay thế khác thì sao?

Nếu Maxisnap không phải là thứ bạn đang tìm kiếm, có những lựa chọn nhẹ khác:

  • ShareX — Miễn phí, mã nguồn mở, cực kỳ nhiều tính năng nhưng phức tạp. Mức sử dụng bộ nhớ hợp lý. Xem so sánh của chúng tôi với ShareX.
  • Greenshot — Miễn phí, rất nhẹ, nhưng tính năng hạn chế và giao diện cũ kỹ.
  • Windows Snipping Tool — Tích hợp sẵn trong Windows, không cần cài đặt, nhưng chú thích hạn chế và không có đám mây.

Chúng tôi đề cập tất cả những điều này một cách chi tiết trong hướng dẫn đầy đủ về các lựa chọn thay thế Monosnap.

Điểm mấu chốt

Một công cụ chụp màn hình nên là một cơ sở hạ tầng vô hình — luôn sẵn sàng, không bao giờ gây cản trở. Khi nó tiêu thụ nhiều RAM hơn trình duyệt của bạn, có điều gì đó đã sai ở cấp độ cơ bản. Dù bạn khắc phục bằng cách quản lý bộ nhớ của Monosnap thủ công hay chuyển sang một công cụ không gặp vấn đề đó, điều quan trọng là không chấp nhận nó như một điều bình thường. RAM của bạn có những việc tốt hơn để làm.

Sẵn sàng thử một công cụ chụp ảnh màn hình tốt hơn?

Tải Maxisnap miễn phí và cảm nhận sự khác biệt.

Tải Maxisnap Miễn phí