Мы установили сервер TFS 2010 на сервере Windows 2008 R2, и недавно у него начался тайм-аут и длительное время работы.
Когда я вхожу в систему, я вижу, что на вкладке производительности диспетчера задач указано, что выделено 3,86 ГБ из 4, но когда я перехожу на вкладку процессов и суммирую все запущенные процессы, я получаю где-то между 700 и 900 МБ, в зависимости от от того, как долго машина работает.
Я нашел этот вопрос в списке похожих заголовков, надеясь, что это поможет мне:
Странное использование памяти в Windows Server 2008 R2
и я выполнил SQL-запрос из списка, получив следующие элементы:
object_name Counter_name cntr_value cntr_value_MB ------------------------- --------------------------- ------------------------ SQLServer:Buffer Manager Database pages 988 8.000000000 SQLServer:Buffer Manager Free pages 140 1.000000000 SQLServer:Buffer Manager Total pages 2923 23.000000000 SQLServer:Memory Manager Target Server Memory (KB) 23384 22.000000000 SQLServer:Memory Manager Total Server Memory (KB) 23384 22.000000000
Я не понимаю, объясняет ли это проблему с памятью или нет, но я думаю, что последний столбец должен указывать более высокие значения, если проблема была такой же, как в этом вопросе. Я даже ограничил использование памяти для SQL-сервера до 3 ГБ, а текущая вкладка процесса показывает, что sqlservr.exe использует 92 МБ памяти.
Также обратите внимание, что ранее для этой машины было достаточно 4 ГБ, и у нас не было проблем с производительностью или вопросов, когда она работала в обычном режиме, но недавние изменения в поведении вызывают беспокойство.
Может быть, это виртуальная машина, работающая на сервере VMware ESX 4.1? Я читал о «воздушных шарах памяти», которые VMware использует для кражи памяти в системе, которая в противном случае перегружена, но общий объем памяти, доступной на физическом сервере, составляет 32 ГБ, а в обзоре производительности указано, что доступно 17 из них.
На что еще я должен смотреть или как еще мне смотреть на приведенные выше данные?
Перезагрузка возвращает машину к тому, что я бы назвал объяснимыми числами, но она медленно возвращается до 4 ГБ в течение дня, а затем начинает выходить из строя.
Также обратите внимание, что я не на 100% уверен, что память вызывает тайм-ауты, но машина работает нормально, пока память не приблизится к этим 4 ГБ, поэтому, по крайней мере, кажется, что она связана, но, конечно, это могут быть два разных эффекта. по той же причине.
На этом компьютере не было никаких обновлений Windows в течение как минимум месяца, хорошо это или плохо, поэтому нет обслуживания, которое совпадает с моментом возникновения проблемы.
Производительность хоста будет мгновенно снижаться всякий раз, когда происходит «перегрузка» - постоянная подкачка страниц памяти и обратно в условиях ограниченного объема памяти.
У вас может быть утечка памяти где-то. Если диспетчер задач не показывает чрезмерное использование памяти для одного процесса (кстати, какое значение вы смотрели? Диспетчер задач обычно показывает частные байты, хотя вам следует искать «рабочий набор» для текущего использования физической памяти), модуль / драйвер ядра может быть другим возможным кандидатом. Взгляни на Обозреватель процессовстатистика памяти, особенно использование памяти ядром - они будут более подробными и могут помочь вам продвинуться дальше в разрешении.
Посмотрите на количество обращений к странице как на лучший индикатор чрезмерного использования памяти. Если вы (слишком) часто обращаетесь к странице, снижение производительности, скорее всего, связано с нераспределением памяти. В противном случае я бы поискал в другом месте.
Если вы не включили драйвер балуна (и тогда вы не увидите его использования), проблема не в этом.