Windows
殺死程序是否意味著釋放使用的記憶體?
我有服務,每秒執行外部 exe 程序(例如 process1.exe)並殺死它們。Taskmgr - 只顯示一個程序。執行服務後,我得到的可用記憶體最少。所有程序記憶體的總和與總使用記憶體不相等。當我執行 RamMap 程序時,我看到很多擴展的 procces1.exe。看起來殺死程序並不意味著釋放它的記憶體。
你能建議 windows soft 進行死程序記憶體洩漏檢測嗎?
如果有任何其他選擇,現代作業系統會避免釋放記憶體。有關更多詳細資訊,請參閱此答案。如果頁面是臟的、共享的或在文件系統中有名稱,則該頁面仍然可以訪問,因此無需將其釋放。只有當頁面既是非共享的又是匿名的時,它才會被釋放。
如果你殺死程序,記憶體可能仍被被殺死的程序佔用,但如果另一個正在執行的程序/服務需要它,它將被釋放。您可以使用一些軟體來自動釋放您的 ram,但只是認為它確實會嘗試使用盡可能多的記憶體,因此作業系統會釋放它。