У мене є сервер Windows 2003, який працює трохи повільніше, коли плата за фіксацію та використання файлів сторінок галочками та до тих пір, поки я врешті не перезавантажтесь. Щоб виправити це, мені потрібно з’ясувати, що споживає всю пам'ять, і саме тут велика таємниця.
Поточні статистичні дані менеджера завдань:
Physical Memory (K): 2096400
Commit Charge (K): 5364848
Page file usage: 5.11 GB
Добре, тому давайте піднімемо SysInternals Process Explorer і перевіримо розмір робочого набору всього, що працює. Найбільшим винуватцем є екземпляр Tomcat, використовуючи 121,980 КВ, розмір 481,284 КВ. Нічого там не підходить до пояснення плати за 5 Гб.
Наступний крок: pslist SysInternals : pslist -m
розділіть результат на стовпчик і обчисліть суми стовпців для 61 процесу, про який повідомляється.
SUM (Working Set) : 681,484 K
SUM (Private Bytes): 593,424 K
Я принципово не розумію, про які інструменти звітують? У мене завжди було враження, що ОС насправді заробляє набагато менше пам’яті, ніж повний обсяг віртуальної пам’яті, відображений процесом, за умови, що він насправді ніколи не використовуватиме так багато, і що дивлячись на VM тут червона оселедець.