У нас есть примерно 200 серверов, Hyper V, File Cluster и IIS, которые испытывают одну и ту же проблему, при обычном использовании на сервере происходит событие, которое максимально или почти максимально использует ОЗУ на сервере. Как только это происходит, служба SVCHOST / Workstation, в частности (отсеянная путем изоляции службы Workstation от собственного SVCHOST), прекращает выпуск дескрипторов / потоков, и память, используемая этой службой, никогда не освобождается. У нас есть, в некоторых крайних случаях, сервисы рабочих станций, которые используют до 40 ГБ оперативной памяти на сервере 255 ГБ. Также в некоторых случаях можно найти более 40 миллионов ручек.
При перезагрузке проблема, конечно же, исчезает и не появляется снова, пока вся память не будет использована, скажем, процессом W3 или виртуальными машинами HyperV, после чего служба рабочей станции начнет захватывать всю оперативную память. Процесс очень медленный и может занять недели / месяцы в зависимости от объема оперативной памяти на сервере.
Как наши серверы Hyper V, так и серверы IIS имеют доступ к общим ресурсам для рабочих файлов, эти общие ресурсы находятся в хранилище SSD, поэтому они достаточно производительны. Мы установили все текущие исправления, но не перешли на R2, так как у нас есть много инструментов, которые сделают это значительным шагом и не найдут четких указаний на то, что это будет исправлено в R2.
Мы запустили ProcMon и другие инструменты, но на самых проблемных серверах эти инструменты даже не запускаются. Что касается остальных, то результаты, которые они предоставляют, просто показывают, что в этом процессе действительно наблюдается утечка памяти.
Есть ли способ, которым мы можем освободить память от этого процесса или избежать ошибки вместе? Мы не хотим перезагружаться и не можем перезапустить процесс, если он находится в состоянии ошибки. Процесс становится замороженным.
Мы стараемся избегать регулярных перезагрузок, чтобы «исправить» эту проблему, поэтому любые ответы приветствуются.