Cách tìm và khắc phục rò rỉ bộ nhớ trong Windows 10

How Find Fix Memory Leaks Windows 10



Nếu PC Windows 10 của bạn đang gặp vấn đề về hiệu suất, thì đó có thể là do rò rỉ bộ nhớ. Dưới đây là cách tìm và khắc phục rò rỉ bộ nhớ trong Windows 10. Khi bạn cài đặt Windows 10 lần đầu tiên, bạn nên chạy Trình kiểm tra tệp hệ thống. Thao tác này sẽ kiểm tra và sửa mọi tệp hệ thống bị hỏng. Để thực hiện việc này, hãy mở Dấu nhắc Lệnh và gõ: sfc /quét bây giờ Khi quá trình quét hoàn tất, hãy khởi động lại PC của bạn. Nếu bạn vẫn thấy các vấn đề về hiệu suất, đã đến lúc kiểm tra rò rỉ bộ nhớ. Để thực hiện việc này, hãy mở Trình quản lý tác vụ và chuyển đến tab Hiệu suất. Trong cột Bộ nhớ, bạn sẽ thấy dung lượng bộ nhớ đang được sử dụng. Nếu con số này không ngừng tăng lên, rất có thể bạn đã bị rò rỉ bộ nhớ. Để khắc phục rò rỉ bộ nhớ, bạn cần xác định chương trình nào gây ra sự cố. Để thực hiện việc này, hãy chuyển đến tab Chi tiết và kiểm tra cột PID. Thao tác này sẽ hiển thị cho bạn PID (ID tiến trình) của từng chương trình đang chạy. Hãy tìm chương trình có số PID cao nhất và kết thúc quá trình đó. Khi bạn đã kết thúc quá trình, hãy khởi động lại PC của bạn và kiểm tra xem sự cố đã được khắc phục chưa. Nếu không, hãy lặp lại quy trình cho đến khi bạn tìm ra thủ phạm.



ĐẾN Bộ nhớ bị rò rỉ là sự phân bổ sai tài nguyên trong một chương trình máy tính do phân bổ bộ nhớ không đúng cách. Nó xảy ra khi đi không gian chưa sử dụng vẫn chưa được giải phóng. Không nên nhầm lẫn rò rỉ bộ nhớ với rò rỉ dung lượng, nghĩa là một chương trình sử dụng nhiều RAM hơn mức cần thiết. Rò rỉ bộ nhớ trên hệ thống Windows 10/8/7 đã được báo cáo xảy ra khi bộ nhớ đơn giản là không khả dụng mặc dù nó không được sử dụng.





Rò rỉ bộ nhớ trong Windows 10

Trước khi bắt đầu, bạn nên biết rằng rò rỉ bộ nhớ là sự cố phần mềm cần được gỡ lỗi, chẳng hạn như trong Java, JavaScript, C/C++, Windows, v.v. Không cần thay thế RAM hoặc ổ cứng vật lý.





Rò rỉ bộ nhớ trong Windows 10



Tại sao điều đó là xấu

Rõ ràng, rò rỉ bộ nhớ là một điều tồi tệ, bởi vì đó là một lỗi, một lỗ hổng trong hệ thống. Nhưng hãy tìm hiểu chính xác điều 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 nó không được sử dụng nên nó sẽ bị cạn kiệt.
  2. Bộ nhớ cạn kiệt dẫn đến lão hóa phần mềm.
  3. Giảm bộ nhớ khả dụng dẫn đến tăng thời gian phản hồi và giảm hiệu suất hệ thống.
  4. Rò rỉ bộ nhớ không được kiểm soát cuối cùng có thể làm hỏng ứng dụng.

Để phát hiện rò rỉ bộ nhớ, lập trình viên cần truy cập vào mã nguồn của chương trình.

phát hiện rò rỉ

Để giải quyết một vấn đề, chúng ta cần xác định nó trước. Các bước cơ bản để phát hiện rò rỉ bộ nhớ:



  1. xác nhận : Phát hiện rò rỉ.
  2. Tìm rò rỉ bộ nhớ trong Kernel Mode : Tìm kiếm rò rỉ do thành phần trình điều khiển chế độ nhân gây ra.
  3. Tìm rò rỉ bộ nhớ trong chế độ người dùng : Phát hiện rò rỉ do trình điều khiển hoặc ứng dụng chế độ người dùng gây ra.

Cấp phát bộ nhớ

Có các chế độ phân bổ RAM khác nhau theo ứng dụng. Nếu không gian không được giải phóng sau khi sử dụng, rò rỉ bộ nhớ sẽ xảy ra bất kể chế độ phân bổ. Dưới đây là một số mẫu phân phối phổ biến:

  1. Hàm HealAlloc để cấp phát bộ nhớ trên heap. Thời gian chạy C/C++ tương đương là malloc và new.
  2. Chức năng VirtualAlloc để phân bổ trực tiếp từ HĐH.
  3. Kernel32 API để lưu trữ bộ nhớ kernel cho một ứng dụng. Ví dụ: CreateFile, CreateThread.
  4. API Người dùng32 và API Gdi32.

Ngăn ngừa Rò rỉ Bộ nhớ

Chúng ta đều biết rằng phòng bệnh hơn chữa bệnh, vì vậy đây là một số cách để ngăn chặn rò rỉ bộ nhớ.

theo dõi thói quen

Rò rỉ bộ nhớ trong Windows 10

google trang tính tách văn bản thành các cột

Bạn cần đề phòng việc sử dụng RAM bất thường của từng chương trình và ứng dụng. Bạn có thể vào Trình quản lý tác vụ Windows bằng cách nhấp vào CTRL + SHIFT + ESC và thêm các cột như Tay cầm, Đối tượng người dùng, Đối tượng GDI, v.v.

Điều này sẽ giúp bạn dễ dàng theo dõi việc sử dụng tài nguyên.

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

Các công cụ khác nhau chẩn đoán rò rỉ bộ nhớ cho các chế độ phân bổ khác nhau:

  1. Application Verifier chẩn đoán rò rỉ heap.
  2. UMDH (một thành phần của Công cụ gỡ lỗi Windows) chẩn đoán rò rỉ trên mỗi quy trình bằng cách giám sát phân bổ heap.
  3. Trace Capture để phân tích kỹ lưỡng việc sử dụng RAM.
  4. Xperf cũng 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 bạn áp dụng các kỹ thuật viết mã để giảm thiểu rò rỉ.
  6. Bộ phát hiện rò rỉ bộ nhớ JavaScript gỡ lỗi rò rỉ bộ nhớ trong mã.

Mẹo sử dụng

  1. Sử dụng hạt nhân ĐỐI PHÓ VỚI s và các con trỏ thông minh khác cho tài nguyên Win32 và phân bổ heap.
  2. Nhận các lớp quản lý tài nguyên tự động để phân bổ lõi từ thư viện ATL. Chuẩn C++ có auto_ptr để cấp phát heap.
  3. Đóng gói các con trỏ giao diện COM trong 'con trỏ thông minh' với _com_ptr_t hoặc _bstr_t hoặc _biến thể_t .
  4. Theo dõi mã .NET để biết mức sử dụng bộ nhớ bất thường.
  5. Tránh nhiều lối thoát cho các hàm để cho phép phân bổ biến trong hầu hết các khối được giải phóng khi kết thúc hàm.
  6. Chỉ sử dụng các ngoại lệ tùy chỉnh sau khi tất cả các phân bổ trong khối _finally đã được giải phóng. Gói toàn bộ đống và xử lý phân bổ thành con trỏ thông minh để sử dụng ngoại lệ C++.
  7. Luôn luôn gọi PropVariantClear trước khi khởi tạo lại hoặc xóa đối tượng PROPVARIANT.

Khắc phục rò rỉ bộ nhớ trong Windows

Cũng giống như các cách khác nhau để ngăn chặn rò rỉ bộ nhớ, có nhiều cách khác nhau để ngăn chặn rò rỉ bộ nhớ. Nhưng trước khi bắt đầu, đừng quên đầu tiên tạo một điểm khôi phục hệ thống .

1] Đóng các quy trình và khởi động lại.

Nếu thấy một tiến trình không cần thiết chiếm quá nhiều RAM, bạn có thể kết thúc tiến trình đó trong Trình quản lý tác vụ. Bạn sẽ cần khởi động lại thiết bị để không gian trống có sẵn cho các quy trình khác sử dụng. Nếu không khởi động lại, vấn đề rò rỉ bộ nhớ sẽ không được giải quyết. Một quy trình cụ thể có lỗi làm chậm PC là Runtime Broker. Hãy thử xem nếu chỉ vô hiệu hóa điều này hoạt động.

2] Công cụ chẩn đoán bộ nhớ

Chẩn đoán bộ nhớ Windows

Để truy cập tích hợp Công cụ chẩn đoán bộ nhớ cho cửa sổ:

ứng dụng ghi chú windows 10
  1. Lưu tất cả các công việc quan trọng của bạn.
  2. Nhấp chuột Thắng + R mở chạy cửa sổ.
  3. Nhập lệnh mdsched.exe TRONG chạy cửa sổ.
  4. Khởi động lại máy tính của bạn.
  5. Sau khi khởi động lại, hãy thực hiện quét cơ bản hoặc chọn ' Trình độ cao 'Các tùy chọn như' hỗn hợp thử nghiệm ' hoặc ' Số lần đi '.
  6. Nhấp chuột F10 để bắt đầu bài kiểm tra.

Đây là những sửa chữa tạm thời cho bây giờ.

3] Kiểm tra cập nhật trình điều khiển

Cập nhật phần mềm trình điều khiển

Trình điều khiển lỗi thời gây rò rỉ bộ nhớ. Cập nhật tất cả các trình điều khiển :

  1. Nhấp chuột Thắng + R và mở ra chạy cửa sổ. Kiểu devmgmt.msc và nhấn Enter. Điều này sẽ đưa bạn đến quản lý thiết bị .
  2. Kiểm tra các trình điều khiển lỗi thời và cập nhật tất cả.
  3. Để biết các bản cập nhật mà bạn có thể đã bỏ lỡ, hãy xem Windows Update.

Thật dễ dàng.

4] Tối ưu hóa hiệu suất

Điều chỉnh để đạt hiệu suất tốt nhất

Điều chỉnh hiệu suất Windows sẽ quản lý mọi thứ bao gồm lập lịch cpu và sử dụng bộ nhớ để tránh rò rỉ bộ nhớ. Thực hiện theo các bước sau:

  1. Click chuột phải ' máy tính này »và chọn« Trình độ cao 'Trên bảng điều khiển bên trái.
  2. Dưới ' Trình độ cao Trên tab ' hiệu suất
Bài ViếT Phổ BiếN