簡體   English   中英

獲取內存映射文件的名稱

[英]get name of memory mapped file

我有一個 Windows 主機,根據 rammap,幾乎所有內存都在映射文件中。 我試圖找出導致這種泄漏的文件。 所有可用的指南都建議使用選項卡文件摘要來找出文件和映射文件之間的聯系。 但是沒有任何文件占用如此大量的映射文件內存。

有沒有辦法找出應該歸咎於哪個文件? 我猜像 rammap 這樣的 sysinternals 工具已經使用了 windows api 函數,所以如果我嘗試自己使用像GetMappedFileNameA這樣的函數,我不會找到更多信息。

我的 96 GB 機器上有 24 GB 的映射文件。 在我看來,這只是 Windows 文件緩存(“Smartdrv”,如果您從 DOS 時代就知道的話)。

內存映射

這與在任務管理器中顯示為“緩存”的數量大致相同。 其工具提示讀作

包含未主動使用的緩存數據和代碼的內存。

任務管理器

所以,這沒什么好擔心的。 事實上它很棒,因為 Windows 可以從內存而不是磁盤讀取文件。 這使事情變得更快。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM