Назад | Перейти на главную страницу

Виртуальная машина VMware ESX, Windows 2008 Server R2, память заполнена, но процесс не подходит?

Мы установили сервер 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 в течение как минимум месяца, хорошо это или плохо, поэтому нет обслуживания, которое совпадает с моментом возникновения проблемы.

Производительность хоста будет мгновенно снижаться всякий раз, когда происходит «перегрузка» - постоянная подкачка страниц памяти и обратно в условиях ограниченного объема памяти.

У вас может быть утечка памяти где-то. Если диспетчер задач не показывает чрезмерное использование памяти для одного процесса (кстати, какое значение вы смотрели? Диспетчер задач обычно показывает частные байты, хотя вам следует искать «рабочий набор» для текущего использования физической памяти), модуль / драйвер ядра может быть другим возможным кандидатом. Взгляни на Обозреватель процессовстатистика памяти, особенно использование памяти ядром - они будут более подробными и могут помочь вам продвинуться дальше в разрешении.

Посмотрите на количество обращений к странице как на лучший индикатор чрезмерного использования памяти. Если вы (слишком) часто обращаетесь к странице, снижение производительности, скорее всего, связано с нераспределением памяти. В противном случае я бы поискал в другом месте.

Если вы не включили драйвер балуна (и тогда вы не увидите его использования), проблема не в этом.