Я администрирую сервер Windows 2008 (ну, на Amazon EC2) под управлением IIS и веб-приложения .NET4. Я получил предупреждение памяти на днях и пошел и посмотрел, и, конечно же, память процесса выросла с течением времени из-за какой-то медленной утечки. Он вырос не так сильно, как 60М до 200М, но с коробкой продолжалось достаточно, чтобы он перешел наш довольно низкий порог (75%), чтобы отключить монитор.
Я переработал пул приложения и освободил память, и, просмотрев статистику, я заметил, что пространство подкачки использовалось значительно, и что более 1 ГБ его освободило при этой переработке.
Может быть, это основной вопрос, но я парень из UNIX и привык менять местами, не привыкая, пока у тебя не останется памяти. Эта коробка никогда не превышала 75% использования памяти. Это вещь для Windows, для .NET или для Amazon? Я подозреваю, что в этом приложении гораздо большая утечка памяти, чем предполагалось - она не просачивается с 60М до 200М, она просачивается с 60М до 1.2ГБ, но большая часть этого почему-то «остывает» и вытесняется для замены?
В пуле приложений настроена рециркуляция памяти, но она запускает полную память, поэтому это приложение может стать действительно очень большим, прежде чем оно автоматически перезапустится.
Я мог бы настроить регулярную «временную» переработку, но это обходной путь, я заставлю разработчика исправить приложение, но мне нужно понять, что здесь происходит с использованием свопа, чтобы убедиться, что я правильно понимаю.
Изменить с дополнительной информацией: память экземпляра: 1,7 ГБ, подкачка: 4,5 ГБ
Я вижу процесс w3wp.exe в taskmgr, показывающий, что Memory: 211,000k. Но когда я перезапустил его (он находится в его собственном пуле приложений, и это единственное приложение на коробке), его использование памяти уменьшилось до его обычной начальной точки 60M и, как 1 ГБ + swap, также освободилось. В taskmgr у меня только что была обычная статистика Memory (Private Working Set), но я увидел изменение свопа через другой мой мониторинг (Cloudkick). Возвращаясь к сегодняшнему взгляду, память восстановилась до 195 МБ (всего 1,2 ГБ), а объем подкачки увеличился с 1,0 ГБ до 1,1 ГБ, но не до конца туда, где он был (график со временем это медленная ползучесть).
Я меньше беспокоюсь об этом конкретном приложении и больше беспокоюсь о том, чтобы просто понять, когда Windows меняет местами и как оно это использует, и что нужно беспокоиться об использовании памяти и подкачки Windows.