Sửa lỗi ngốn bộ nhớ Memory Leak trên Windows 10

Lỗi ngốn bộ nhớ Memory Leak trên Windows 10 không thường xuyên xảy ra, tuy nhiên khi mắc phải rất ít khi bạn phát hiện ra cho đến khi bạn thấy máy bị hoạt động không được mượt như trước. Bộ nhớ bị tăng lên mà không hiểu rõ nguyên nhân tại sao và lúc này bạn có thể cảm nhận được sự khác biệt rõ rệt trên máy tính.

Như đã nói ở trên lỗi ngốn bộ nhớ Memory Leak trên Windows 10 gây ra có thể là do một phần mềm nào đó ngốn RAM, cụ thể là các phần mềm trong Startup rất dễ gây ra tình trạng trên. Ngoài ra cũng có thể là do lỗi của RAM mà bạn phải kiểm tra RAM mới biết được. Nhưng cho dù bạn kiểm tra RAM hay làm theo cách nào đi chăng nữa thì hãy ưu tiên tham khảo bài viết dưới đây của chúng tôi trước để nhận được những cách làm tối ưu nhất sửa lỗi ngốn bộ nhớ Memory Leak trên Windows 10.

Rò rỉ bộ nhớ không phải là do nhầm lẫn không gian trống, mà là do một chương trình nào đó sử dụng bộ nhớ RAM nhiều hơn mức cần thiết. Lỗi rò rỉ bộ nhớ xảy ra trên Windows 10/8/7 nếu bộ nhớ RAM không thể truy cập được mặc dù không được sử dụng. 

Lỗi rò rỉ bộ nhớ (memory leak) trên Windows 10

Trước khi bắt tay vào sửa lỗi, bạn nên biết rằng rò rỉ bộ nhớ (Memory Leak) là một lỗi phần mềm, chẳng hạn như trong Java, JavaScript, C / C ++, Windows, ... . Việc thay thế RAM hoặc ổ cứng là không cần thiết.

Rò rỉ bộ nhớ (memory leak) ảnh hưởng đến hệ thống như thế nào?

Mặc dù rò rỉ bộ nhớ (memory leak) là một lỗ hổng trên hệ thống. Tuy nhiên nhiều người dùng không biết chính xác lỗi này ảnh hưởng đến hệ thống như thế nào:

1. Vì bộ nhớ không được giải phóng ngay cả khi không được sử dụng dụng, điều này dẫn đến tình trạng cạn kiệt bộ nhớ.

2. Bộ nhớ cạn kiệt dẫn đến tình trạng phần mềm nhanh xuống cấp. 

3. Dung lượng bộ nhớ giảm dẫn đến tình trạng hệ thống phản hồi kém và thời gian phản hồi lâu hơn.

4. Memory Leak có thể dẫn đến tình trạng một loạt các ứng dụng bị treo.

Để xác định Memory Leak, đòi hỏi lập trình viên phải có quyền truy cập mã nguồn của chương trình.

Xác định vị trí rò rỉ bộ nhớ (Memory Leak)

Để khắc phục rò rỉ bộ nhớ, trước hết bạn cần làm là xác định vị trí bị rò rỉ. Các bước cơ bản để xác định vị trí  rò rỉ bộ nhớ bao gồm:

Bước 1: Xác định vị trí xảy ra rò rỉ.

Bước 2: Tìm mernel-mode rò rỉ bộ nhớ: xác định vị trí rò rỉ gây ra bởi một thành phần nào đó trên driver kernel-mode.

Bước 3: Tìm User-mode rò rỉ bộ nhớ: xác định vị trí rò rỉ do driver user-mode hoặc driver ứng dụng gây ra.

Phân bổ bộ nhớ

Có nhiều chế độ khác nhau, mà trong đó các ứng dụng được phân bổ RAM. Nếu không gian trống không được giải phóng sau khi sử dụng, sẽ xảy ra lỗi rò rỉ bộ nhớ. Một số mô hình phân bổ bộ nhớ chung bao gồm:

1. Hàm HealAlloc sử dụng để phân bổ bộ nhớ heap. Thời gian chạy C / C++ tương đương với mallo.

2. Hàm VirtualAlloc để phân bổ trực tiếp từ hệ điều hành.

3. API của Kernel32 để lưu trữ bộ nhớ kernel cho ứng dụng. Ví dụ như CreateFile, CreateThread.

4. API User32 và API Gdi32.

Ngăn chặn rò rỉ bộ nhớ

Phòng bệnh hơn chữa bệnh, dưới đây là một số cách để ngăn chặn rò rỉ bộ nhớ.

Theo dõi các chương trình, ứng dụng sử dụng RAM

Nhớ để mắt đến các ứng dụng, chương trình chiếm dụng RAM cao bất thường trên Task Manager. Mở Task Manager bằng cách nhấn tổ hợp phím CTRL + SHIFT + ESC, sau đó thêm các cột như Handles, User Objects, GDI Objects, ... .

Điều này giúp bạn có thể dễ dàng theo dõi các chương trình, ứng dụng sử dụng tài nguyên hệ thống.

Công cụ chẩn đoán rò rỉ bộ nhớ của Microsoft

Các công cụ khác nhau chẩn đoán các chế độ phân bổ khác nhau:

1. Application Verifier chẩn đoán rò rỉ heap.

2. UMDH (một phần của Windows Debugging Tools) chẩn đoán rò rỉ từng process một bằng các theo dõi phân bổ bộ nhớ heap.

3. Trace Capture phân tích kỹ lưỡng việc sử dụng RAM.

4. Xperf theo dõi các mẫu phân bổ heap.

5. CRT Debug Heap không chỉ theo dõi phân bổ heap mà còn cho phép thực hiện mã hóa để giảm thiểu rò rỉ.

6. JavaScript Memory Leak Detector gỡ lỗi bộ nhớ rò rỉ bằng mã.

Mẹo 

1. Sử dụng kernel HANDLE và các smart pointer để phân bổ tài nguyên Win32 và phân bổ heap.

2. Tải các lớp để quản lý tài nguyên tự động cho phân bổ kernel từ thư viện ATL. Chuẩn C ++ có auto_ptr để phân bổ heap.

3. Đóng gói các con trỏ giao diện COM trong "smart pointers" bằng cách sử dụng  _com_ptr_t hoặc _bstr_t hoặc _variant_t.

4. Theo dõi mã .NET các ứng dụng, chương trình sử dụng bộ nhớ bất thường.

5. Tránh thoát các hàm cho phép phân bổ được giải phóng trong các biến trong hầu hết các khối khi kết thúc một hàm.

6. Chỉ sử dụng các ngôn ngữ ngoại lệ sau khi giải phóng tất cả các phân bổ trong khối _finally. Gói tất cả các heap và xử lý các phân bổ vào smart pointer để sử dụng ngôn ngữ C++ ngoại lệ. 

7. Luôn luôn gọi hàm PropVariantClear trước khi khởi động lại hoặc loại bỏ một đối tượng PROPVARIANT.

Hướng dẫn sửa lỗi ngốn bộ nhớ Memory Leak trên Windows 10

Cách 1: Đóng các process và khởi động lại

Nếu phát hiện có process không cần thiết đang chiếm dụng quá nhiều RAM, chỉ cần kết thúc process đó trong Task Manager. Sau đó khởi động lại thiết bị để giải phóng không gian trống cho các process khác. 

Nếu lỗi rò rỉ bộ nhớ không được khắc phục sau khi khởi động lại máy tính. Thử vô hiệu hóa process có tên Runtime Broker, process này được biết đến là nguyên nhân làm máy tính chậm. 

Cách 2: Sử dụng công cụ Memory Diagnostic Tool

Để truy cập công cụ Memory Diagnostic Tool được tích hợp sẵn trên hệ điều hành Windows:

Bước 1: Lưu tất cả các file, công việc mà bạn đang thực hiện dở. 

Bước 2: Nhấn tổ hợp phím Windows + R để mở cửa sổ Run. 

Bước 3: Nhập lệnh mdsched.exe vào cửa sổ Run. 

Bước 4: Khởi động lại máy tính.

Bước 5: Sau khi khởi động lại máy tính, thực hiện quét cơ bản hoặc truy cập các tùy chọn quét nâng cao như Test mix hoặc Pass count

Bước 6: Nhấn phím F10 để bắt đầu kiểm tra.

Đây chỉ là cách sửa lỗi tạm thời. 

Cách 3: Tối ưu hóa hiệu suất

Điều chỉnh hiệu suất Windows để quản lý mọi thứ bao gồm các process xử lý và sử dụng bộ nhớ để ngăn chặn rò rỉ bộ nhớ. Thực hiện theo các bước dưới đây:

Bước 1: Kích chuột phải vào This PC, chọn Advanced ở khung bên trái.

Bước 2: Tại tab Advanced, truy cập Performance, sau đó chọn Settings

Bước 3: Đánh tích chọn Adjust for best performance rồi click chọn OK.

Bước 4: Khởi động lại máy tính và kiểm tra xem lỗi còn không.

Nếu cách này không khắc phục được lỗi, thử áp dụng những cách bên dưới đây.

Cách 4: Tắt các chương trình khởi động cùng hệ thống

Tắt các chương trình khởi động cùng hệ thống là giải pháp duy nhất để thoát khỏi tình trạng rò rỉ bộ nhớ. Truy cập Task Manager và tắt các chương trình gây ra lỗi. Nếu không biết chương trình nào là thủ phạm gây ra sự cố, bạn thực hiện theo các bước dưới đây:

Bước 1: Mở  trình quản lý tác vụ Task Manager.

Bước 2: Trên cửa sổ Task Manager, truy cập tab Startup.

Bước 3: Tắt các chương trình khởi động cùng hệ thống mà bạn không cần chạy theo mặc định.

Cách 5: Chống phân mảnh ổ cứng

Mặc dù Windows 10 tự động chống phân mảnh ổ cứng, tuy nhiên đôi khi bạn sẽ phải thực hiện chống phân mnahr để tối ưu hóa hiệu suất hệ thống:

Bước 1: Truy cập This PC hoặc My Computer.

Bước 2: Kích chuột phải vào ổ cứng hệ thống (thường là ổ C:).

Bước 3: Trên cửa sổ tiếp theo, truy cập Tools nằm trong mục Properties, và chọn Optimize.

Bước 4: Chọn ổ để chống phân mảnh rồi chọn Analyze.

Bước 5: Khởi động lại máy tính của bạn sau khi chống phân mảnh.

Cách 6: Xóa Page File sau khi tắt máy

Thực hiện theo các bước dưới đây để xóa Page File mỗi khi tắt máy:

Bước 1: Nhập regedit vào khung Search để mở Registry Editor.

Bước 2: Trên cửa sổ Registry Editor, điều hướng theo key dưới đây:

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerMemory Management

Bước 3: Thay đổi giá trị của ClearPageFileAtShutDown 1.

Bước 4: Lưu lại các thay đổi và khởi động lại máy tính của bạn.

Cách 7: Tắt Superfetch

Dịch vụ Windows này tối ưu hóa hiệu suất hệ thống bằng cách giảm thời gian khởi động. Superfetch cho phép Windows quản lý việc sử dụng RAM. Cần lưu ý một điều là sau khi vô hiệu hóa Superfetch hiệu suất hệ thống có thể bị giảm. Tuy nhiên để sửa lỗi rò rỉ bộ nhớ, bạn có thể áp dụng thử cách tắt Superfetch đi.

Bước 1: Nhập services.msc vào khung Search để mở Services Manager.

Bước 2: Trên cửa sổ Services Manager, tìm và kích chuột phải vào Superfetch, chọn Properties.

Bước 3: Chọn Stop.

Bước 4: Hoặc ngoài ra bạn có thể chọn Disable để vô hiệu hóa dịch vụ từ menu.

Bước 5: Khởi động lại máy tính của bạn và kiểm tra xem hiệu suất hệ thống đã được cải thiện hay chưa.

Bước 6: Nếu không khắc phục được lỗi, kích hoạt lại Enable Superfetch. 

Cách 8: Kiểm tra các phần mềm độc hại

Sử dụng phần mềm diệt virus của bên thứ 3 hoặc Windows Defender trên Windows 10 để quét và loại bỏ các phần mềm độc hại (malware) trên máy tính của bạn. Cần đảm bảo các chương trình diệt virus đã được cập nhật để hỗ trợ hệ điều hành của bạn, nếu không nó có thể là thủ phạm gây ra lỗi rò rỉ bộ nhớ.

Cách 9. Tắt các chương trình khởi động cùng máy.

Tắt các chương trình khởi chạy cùng máy sẽ giúp bạn kiểm tra xem máy có còn bị lỗi ngốn bộ nhớ Memory Leak nữa hay không. Cách thực hiện khá đơn giản và bạn chỉ cần làm như sau.

Bước 1: Click chuột phải vào thanh Taskbar và chọn Task Manager từ giao diện Menu. Bạn cũng có thể sử dụng tổ hợp phím Ctrl + Alt + Del để mở nhanh thao tác này.

Bước 2: Ngay sau đó bảng Task Manager hiện ra, bạn vào tiếp mục Startup , nơi các phần mềm chạy cùng với Windows. Ở đây có 2 cột trạng thái là Status Starup impact .

Hãy tắt bỏ tất cả các ứng dụng có trạng thái là Enabled và thỏa mãn Startup impact ở chế độ High . Đây hầu hết là các phần mềm trên máy tính bạn được phép chạy ngầm, một số trong chúng là các ứng dụng cập nhật hay chạy một tiến trình nào đó nên bạn cần cân nhắc trước khi tắt.

Bước 3: Để tắt một phần mềm đang chạy chúng ta chỉ cần click chuột phải và lựa chọn Disable là xong, như vậy phần mềm đó vĩnh viễn không được phép chạy cùng hệ thống nữa.

Cách 10. Tiến hành nâng cấp Driver

Một trong những nguyên nhân có thể xảy ra và cũng gây nên tình trạng lỗi ngốn bộ nhớ Memory Leak trên Windows 10 đó là do các phiên bản driver hiện tại chưa được tối ưu hoặc xảy ra lỗi tương thích với hệ thống. Tuy vậy để tiền hành kiểm tra và cập nhật cho từng driver là rất mất thời gian, một giải pháp Taimienphi.vn đặt ra cho bạn chính là sử dụng phần mềm update driver tự động, ở đây đó chính là Driver Booster, một trong những phần mềm update driver tự động lớn nhất với hơn 400.000 driver từ kho dữ liệu, để sử dụng hãy tải Driver Booster tại đây.

Cách 11. Tiến hành kiểm tra RAM

Rất có thể RAM của bạn gặp vấn đề, lỗi khiến việc quản lý RAM trên Windows 10 không chính xác hoặc không ổn định. Việc tiến hành kiểm tra RAM để có những biện pháp xử lý tiếp theo phù hợp hơn là việc bạn nền làm để sửa lỗi ngốn bộ nhớ Memory Leak trên Windows 10.

Bước 1: Trước tiên hãy mở Menu Start lên rồi gõ "memory " để truy cập vào Windows Memory Diagnostic .

Bước 2: Ngay lập tức một bảng thông báo Windows Memory Diagnostic hiện lên yêu cầu bạn khởi động lại máy. Hãy lựa chọn phương án đầu tiên để khởi động lại máy ngay lập tức hoặc phương án thứ 2 là lựa chọn khởi động lại máy sau theo ý bạn.

Bước 3: Lúc này máy tính của bạn sẽ tự động khởi động lại và vào chế độ Windows Memory Diagnostic, bạn có thể nhấn F1 để lựa chọn 3 chế độ khác nhau.

Bước 4: Có 3 chế độ là Basic, Standard và Extended với mức độ quét chi tiết sâu hơn, nếu như có thời gian hãy lựa chọn Extended để má y kiểm tra kỹ nhất nhé.

Sau đó hãy vào lại Windows để xem RAM có lỗi gì xảy ra khi tiến hành kiểm tra RAM, từ đó bạn sẽ biết được nguyên nhân có phải là do RAM gây nên lỗi ngốn bộ nhớ Memory Leak trên Windows 10 hay không để tiến hành sửa chữa, thay thế RAM, bạn cũng nên tiến hành nâng cấp RAM cho máy tính như cảm thấy lượng RAM hiện tại không đủ, việc nâng cấp RAM cũng cần cẩn thận vì không phải loại ram nào cũng phù hợp với mọi thiết bị.

Trên đây là các hướng dẫn giúp bạn có thể lỗi ngốn bộ nhớ Memory Leak trên Windows 10. Khiến máy tính có thể đạt lạt tốc độ như cũ, không còn hiện tượng giật lag và cũng chẳng cần phải tăng tốc máy tính nữa. Trường hợp, máy tính báo lỗi Your computer is low on memory, bạn tham khảo cách sửa lỗi Your computer is low on memory tại đây

Mặc dù Windows 10 đã ra được một thời gian khá lâu nhưng bạn cũng phải lưu ý sử dụng để tránh các lỗi cơ bản xảy ra trên Windows 10 như trường hợp này. Ngoài ra cũng không nên lạm dụng các phần mềm giúp tăng tốc máy tính bởi nó chưa chắc hiệu quả mà còn làm máy tính chậm thêm.

Tiến hành sửa lỗi ngốn bộ nhớ Memory Leak trên Windows 10 giúp hệ thống chạy ổn định hơn, cùng Taimienphi tìm hiểu nguyên nhân cũng như cách sửa lỗi ngốn bộ nhớ Memory Leak trên Win 10 nhé
Sửa lỗi "Your computer is low on memory" trên máy tính
Sửa lỗi thiếu bộ nhớ, thiếu RAM "Out of Memory" khi chơi Minecraft
Sửa lỗi Runtime Broker chiếm dụng CPU cao
Cách sửa lỗi CPU Usage, lỗi 100% CPU do IAStorDataSvc
Cách sửa lỗi Windows Modules Installer Worker ngốn nhiều CPU trên Windows 10
Sửa lỗi ISDone.dll trên Windows 10

ĐỌC NHIỀU