Quá nhiều bộ nhớ được sử dụng


13

Tôi đã cảm thấy như vậy trong một thời gian, nhìn vào người quản lý nhiệm vụ về mặt tinh thần, nên sử dụng bao nhiêu bộ nhớ vật lý và nhận thấy sự chênh lệch lớn. Cuối cùng tôi đã có được xung quanh để đo nó. Lấy kết quả của danh sách tác vụ và thêm, cho khoảng 3,87 GB. Trình quản lý tác vụ cho tôi biết tôi đang sử dụng bộ nhớ 4,6 GB. Điều này có vẻ như một sự chênh lệch lớn. Nó đã đi đâu?

EDIT: Vì vậy, rõ ràng, nó sẽ không tìm nạp trước. Nó cũng đã được đề xuất rằng nó là một phần của HĐH, nhưng không phải là một phần của bất kỳ quy trình hệ thống nào. Nếu điều này là đúng, vui lòng tìm cách để hệ điều hành cho tôi biết bao nhiêu bộ nhớ đang được sử dụng. Vì tôi muốn tìm ra nơi ký ức đã đi, yêu cầu tôi nhìn vào sự khác biệt không làm gì cho tôi.

EDIT 2: Không phải như sau:

  1. Nhân
  2. Bộ nhớ cache
  3. Bộ nhớ dành riêng cho phần cứng

Hình ảnh của các tài nguyên đưa lên. Không hoàn toàn chắc chắn những gì nó sẽ làm nhưng ... nhập mô tả hình ảnh ở đây


Bạn đang sử dụng hệ điều hành nào? Bạn sẽ nhận được câu trả lời tốt hơn với nhiều thông tin hơn :)
Cam Jackson

Xin lỗi hãy xem thẻ mới :)
soandos

@soandos: Bạn đã thử vô hiệu hóa superfetch và khởi động lại chưa? Liệu nó có làm cho một sự khác biệt?
dùng541686

Có tôi đã làm và không có nó, mặc dù nó cũng sẽ rất tốt để biết bao nhiêu bộ nhớ nạp trước chiếm.
soandos

2
Prefetch KHÔNG sử dụng bộ nhớ, nó lưu trữ mã byte được sử dụng nhiều nhất từ ​​các ứng dụng được biên dịch. Không vô hiệu hóa nó hoặc hiệu suất hệ thống của bạn sẽ giảm mạnh.
Đột phá

Câu trả lời:


5

Tôi khuyên bạn nên tải xuống Sysiternals Suite từ Microsoft . Nó bao gồm một số tiện ích sẽ cung cấp cho bạn nhiều thông tin hơn Trình quản lý tác vụ. Hãy xem các tiện ích Process Explorer, RAMMap, VMMap và Process Monitor. Để có được nhiều thông tin nhất từ ​​họ, bạn có thể cần thực hiện một số cấu hình để thay đổi thông tin nào được hiển thị.

Ngoài ra, vì bạn quan tâm đến bộ nhớ Windows, nên đây là một loạt các bài đăng trên blog của Mark Russinovich , một trong những nhà phát triển / người sáng lập Sysiternals. Nó sẽ giúp làm cho ý nghĩa của thông tin các tiện ích cung cấp.


RAMMap dường như đang nói với tôi rằng trình quản lý tác vụ đang vượt quá tổng mức sử dụng ram khoảng 100 MB, nhưng theo danh sách bộ nhớ mà tôi có thể kéo bằng danh sách tác vụ, RAMMap cũng vượt quá khoảng 200 MB (danh sách tác vụ +200 = RAMMap, RAMMap + 100 = taskmanger)
soandos

1
Tôi không chắc chắn về những gì bạn đang nhìn thấy và tôi không ở trên máy Windows để xem xét nó. Tuy nhiên, nếu bạn vẫn muốn tìm hiểu sâu hơn, hãy hỏi trên các diễn đàn Sysiternals. Có một số người rất thông minh ở đó rất "vào" nội bộ Windows. Họ sẽ quen thuộc hơn với những điểm tốt hơn trong quản lý bộ nhớ Windows.
Joe Internet

Để tham khảo trong tương lai, đây là các cuộc thảo luận về TechEd 2011 của Mark Russinovich về quản lý bộ nhớ Windows: channel9.msdn.com/Events/TechEd/NorthAmerica/ phỏng
Joe Internet

"Câu trả lời" này, mặc dù được chấp nhận, không trả lời câu hỏi! Nó chỉ gợi ý các công cụ và đọc để điều tra.
Jamie Hanrahan

8

Windows 7 sử dụng bộ nhớ 'không sử dụng' để xử lý trước mọi thứ để giúp mọi thứ chạy nhanh hơn. Nếu bạn cần bộ nhớ này, nó sẽ được giải phóng.

Đây là một tính năng, không phải là một lỗi;)

từ TechNet

Sau khi bạn sử dụng hệ thống Windows Vista một thời gian, bạn sẽ thấy số lượng thấp cho bộ đếm Bộ nhớ vật lý miễn phí trên trang Hiệu suất của Trình quản lý tác vụ. Đó là bởi vì SuperFetch và bộ nhớ đệm Windows tiêu chuẩn sử dụng tất cả bộ nhớ vật lý có sẵn để lưu trữ dữ liệu đĩa. Ví dụ: khi bạn khởi động lần đầu tiên, nếu bạn chạy ngay Trình quản lý tác vụ, bạn sẽ thấy giá trị Bộ nhớ trống giảm khi số lượng Bộ nhớ đệm tăng lên. Hoặc, nếu bạn chạy một chương trình ngốn bộ nhớ và sau đó thoát khỏi nó (bất kỳ phần mềm tối ưu hóa RAM miễn phí nào, bộ phân bổ bộ nhớ lớn và sau đó giải phóng bộ nhớ sẽ hoạt động) hoặc chỉ cần sao chép một tệp rất lớn, số miễn phí sẽ tăng và biểu đồ Sử dụng bộ nhớ vật lý sẽ giảm khi hệ thống lấy lại bộ nhớ đã giải quyết. Tuy nhiên, theo thời gian, SuperFetch sẽ khôi phục bộ đệm với dữ liệu bị buộc hết bộ nhớ,


1
1) vậy tại sao điều đó không được liệt kê dưới bộ nhớ cho quá trình đó? 2) làm thế nào để tôi biết đó là trường hợp ở đây?
soandos

Tôi tin rằng superfetch là dưới svchost. Nó MIGHT được tính là bộ nhớ kernel. Bạn có thể thử bật và tắt superfetch để kiểm tra.
Journeyman Geek

Nó không làm gì cả.
soandos

Bộ nhớ được Superfetch sử dụng nằm trong danh sách trang Chờ và được tính là một phần của "Có sẵn". Nó không được tính là "đang sử dụng" bởi vì nó có thể được chuyển mục đích sử dụng (đưa ra khỏi danh sách Chờ và đưa vào quy trình) giống như mọi thứ khác trong danh sách Chờ và mọi thứ trong danh sách Miễn phí và Không.
Jamie Hanrahan

5

Những con số bạn thấy là hoàn toàn không chính xác và chỉ nên được coi là chỉ dẫn.

Một hệ điều hành là một thực thể cực kỳ phức tạp và một chương trình có đầu óc đơn giản như Trình quản lý tác vụ không bao giờ có thể tổng cộng toàn bộ việc sử dụng, nhiều phần của nó chỉ đơn giản là không thể truy cập trong chế độ Người dùng mà nó chạy. Một số yếu tố không thể truy cập được hoặc đơn giản là không thể gán cho bất kỳ "tác vụ" nào, là các bảng phân đoạn phần cứng, phân bổ bộ nhớ chia sẻ, bộ nhớ cấp phát kernel, cấp phát bộ nhớ trang, bộ nhớ thiết bị và nhiều thứ khác.

Bạn sẽ tìm thấy nhiều lời giải thích hơn trong Làm cách nào để diễn giải tab Hiệu suất của Trình quản lý tác vụ? , nhưng tôi chọn trích dẫn phần này:

Bạn mong đợi gì từ một chương trình tự gọi mình là "Trình quản lý tác vụ"? Không có gì gọi là "tác vụ" trong nhân hệ điều hành - HĐH có "quy trình" và "luồng". DOS có "nhiệm vụ". Phần cứng Intel có cấu trúc "tác vụ", nhưng HĐH không sử dụng chúng vì nó nhanh hơn để tự làm.

Trình quản lý tác vụ là một chương trình Windows rất cũ, có vấn đề ngay cả khi gán các chức năng cho các dịch vụ và các số mà nó hiển thị nên được lấy bằng một nhúm muối lớn. Có lẽ thiếu các vùng bộ nhớ lớn mà nó không thể quản lý để đếm hoặc thuộc tính cho bất kỳ "tác vụ" nào.


Vậy tôi nên sử dụng chương trình nào để tìm ra nó? Trình quản lý tác vụ PS có bộ nhớ kernel được liệt kê.
soandos

1
Không có một chương trình sẽ cung cấp cho bạn TẤT CẢ thông tin. Trình quản lý tác vụ sẽ cung cấp một số thông tin và xấp xỉ, Trình quản lý thiết bị có thể cho biết về bộ nhớ thiết bị, WinObj về các đối tượng bộ nhớ. Nguồn tốt nhất là Trình giám sát tài nguyên, được gọi từ tab Hiệu suất của Trình quản lý tác vụ (và các nơi khác), đây thực sự là sự thay thế hiện đại của Trình quản lý tác vụ.
harrymc

Trình quản lý tài nguyên cung cấp một số trong vòng 15 của Trình quản lý tác vụ.
soandos

Chúng trông giống như những con số duy nhất mà bạn có thể nhận được từ giao diện Windows. Chúng không chính xác, nhưng tốt hơn nhiều so với không có gì. Chúng có thể được sử dụng để khắc phục sự cố (mà tôi làm rất nhiều), nhưng đừng hy vọng chúng bao gồm mọi thứ.
harrymc

Quan niệm rằng Trình quản lý tác vụ là một "chương trình Windows rất cũ" là ngớ ngẩn. Nó được cập nhật với mọi phiên bản HĐH giống như mọi thứ khác. Đối với "số duy nhất bạn có thể nhận được", bạn đã sử dụng Trình theo dõi hiệu suất chưa?
Jamie Hanrahan

3

Như bạn có thể nhận thấy, Trình quản lý tác vụ có thể cung cấp cho bạn ảnh chụp nhanh được đơn giản hóa về cách hầu hết các ứng dụng đang ảnh hưởng đến hệ thống của bạn, nhưng để lại rất nhiều điều mong muốn. Nếu bạn thực sự muốn đào sâu vào bộ nhớ cache trong RAM, v.v. bạn cần vào Performance Monitor. Bạn sẽ mất một số công việc để bạn xây dựng bộ đếm hệ thống để giám sát hệ thống của mình.

Bạn có thể đến đó bằng cách chạy compmgmt.msc hoặc cửa sổ tìm kiếm "quản lý máy tính" và ở phía bên trái, bạn sẽ thấy một cây hiệu suất mà bạn có thể mở rộng và đào sâu vào.

Dưới đây là tài liệu tham khảo cho một số công cụ có sẵn: http://technet.microsoft.com/en-us/l Library / cc749249.aspx


Trong khi tôi thấy rằng nó là một công cụ rất tuyệt vời, nó có thể làm được rất nhiều thứ (bằng chứng là có rất nhiều bộ đếm trong bộ nhớ, tôi không biết tôi đang tìm gì. Có ý tưởng nào không?
soandos

Ngoài ra, tùy chọn thêm bộ đếm có xu hướng dính vào màn hình của tôi và tôi phải tự thay đổi độ phân giải qua lại để sửa nó (làm mới không hoạt động). Không phải lỗi của bạn tôi biết.
soandos

3

Bộ nhớ có thể đang được sử dụng cho kernel. Sử dụng Process Explorer, chúng ta có thể thấy phân tích chi tiết hơn về bộ nhớ hệ thống:

Thông tin bộ nhớ kernel

Ở đây tôi đã đánh dấu dung lượng bộ nhớ được sử dụng bởi kernel, đó là Paged WS + Nonpaged, hoặc khoảng ~ 300 MB bộ nhớ. Đây là một hệ thống mới khởi động chỉ với webbrowser và một vài ứng dụng khác mở, mặc dù dưới tải nặng, hệ thống nhà của tôi dễ dàng phá vỡ bộ nhớ kernel 500MB hoặc thậm chí 700 MB.


Tôi đã nhìn vào đó, và điều đó không đủ. Cảm ơn bạn mặc dù.
soandos

Bạn đang hỏi về sự khác biệt giữa số Cam kết và số Bộ nhớ Vật lý?
Darth Android

Không, tôi đang hỏi tại sao khi tôi chạy các công cụ khác nhau được cho là có cùng số, tôi lại nhận được các số khác nhau.
soandos

2

@soandos, bạn đã tính đến bao nhiêu bộ nhớ video đang kéo? Rất có khả năng video đang kéo .73 GB RAM. Bạn có một card màn hình khá trên máy này? Nếu không, nó sẽ sử dụng RAM như thế này (theo những gì tôi biết). Nếu tôi sai, ai đó vui lòng bấm chuông ở đây, nhưng tôi tin rằng đây có thể là hiệu ứng của video kéo từ RAM.


Tôi có một Nvidia GTS 360M. Nó không phải là một thẻ video tuyệt vời, nhưng nó có bộ nhớ GB.
soandos

Bạn đang sử dụng loại màn hình nào với độ phân giải bạn đang sử dụng? Ngoài ra, bạn có đang thực hiện các tác vụ chuyên sâu về video, như chơi trò chơi ở 1080p không? Và loại thẻ video nào bạn sử dụng card màn hình (ví dụ DDR1, DDR2, DDR3, DDR5)? Tôi sẽ tự tìm kiếm nó, nhưng tôi đã thử nó với mô hình thẻ video của ai đó và nhận thấy rằng họ đã tạo ra nó với một vài loại RAM khác nhau ...
David

Tiêu chuẩn với máy tính, 1920x1080, không có ý tưởng. Có cách nào để đo lường điều này?
soandos

Thông thường nó sẽ nói trên bao bì, tôi không chắc chắn. Nếu bạn biết mô hình thẻ chính xác đó, bạn có thể tìm hiểu trên internet. Nếu đó không phải là một thẻ video rất mạnh (sử dụng DDR2, DDR1) và bạn đang sử dụng 1920x1080 với một màn hình lớn (ví dụ: tôi đang sử dụng TV Samsung 46 "TOC làm màn hình ở nhà), bạn có thể ghi lại Nhiều bộ nhớ chỉ trên video ... Tôi không chắc có cách nào để xem video của bạn tiêu thụ bao nhiêu RAM hay không. Tôi sẽ thực hiện một số nghiên cứu về nó ngay bây giờ. Tôi sẽ bình luận lại xem tôi có tìm thấy gì không Tôi muốn giúp bạn hết mức có thể.
David

Tôi hiện đang kiểm tra chương trình này để xem nó có thể có những gì chúng tôi đang tìm kiếm không. Đó là SiSoftware Sandra Lite 2011.2.17.47. Mô tả cho biết rằng nó thực hiện những gì chúng tôi đang tìm kiếm, chẳng hạn như video đang tiêu thụ bao nhiêu RAM.
David

1

Sự khác biệt tôi nghĩ bạn đang thấy không phải vì các công cụ không thể nhìn thấy bộ nhớ đã sử dụng, mà là do các hình thức đo lường khác nhau. Tôi không thể giải thích điều này rất tốt nhưng may mắn là tôi không phải như vậy, Mark Russinovich của Sysiternals nổi tiếng đã viết một loạt bài viết rất hay về hiệu suất quá trình trong Windows. Các phần về bộ nhớ vật lýbộ nhớ ảo sẽ giải thích những gì bạn đang thấy.


Không, đó không phải là vấn đề. Tôi quan tâm đến tổng số tiền hơn là nơi nó được lưu trữ (RAM hoặc HD).
soandos

0

Tôi nghĩ rằng tôi đã giải quyết nó!

Tôi vừa bắt gặp một mẹo về RAMMap và hóa ra đó là LỚN!

Không phải utorrent.exebản thân nó, nhưng các tệp được chia sẻ bởi tinh ranhTorrent - ít nhất là trong trường hợp của tôi: một trong số các tệp đã sử dụng hơn 600 MB và một tệp khác trên 200 MB, v.v.


-1

Một số bộ nhớ được sử dụng làm bộ đệm. Ngay khi bạn cần bộ nhớ này, nó sẽ tự động được phát hành. Vì vậy không cần phải lo lắng.


-1 Không phải là bộ đệm vì đó là 1) được tính riêng biệt, 2) dễ dàng chiếm.
soandos
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.