У нас приблизно 200 серверів, Hyper V, файловий кластер та IIS, у яких виникає одна і та ж проблема, на сервері відбувається звичайна подія за допомогою звичайного використання, що забезпечує максимальну або близьку до максимальної оперативної пам'яті на сервері. Як тільки це станеться, служба SVCHOST / Workstation, спеціально (відсипавшись шляхом ізоляції служби Workstation до власної SVCHOST), перестає випускати ручки / потоки, і пам'ять, яка використовується цією службою, ніколи не звільняється. У деяких екстремальних випадках у нас є сервіси Workstation, які на сервері 255 ГБ використовують 40 ГБ оперативної пам’яті. Також в деяких випадках знаходять понад 40 мільйонів ручок.
При перезавантаженні проблема, звичайно, відходить, і не з’являється знову, поки не буде використана вся пам'ять, скажімо, за допомогою процесу W3 або віртуальних машин HyperV, після цього служба Workstation почне захоплювати всю ОЗУ. Процес дуже повільний і може зайняти тижні / місяці залежно від обсягу оперативної пам’яті на сервері.
Як наші сервери Hyper V, так і сервери IIS отримують доступ до спільних файлів для роботи файлів. Ці спільні файли зберігаються на SSD-накопичувачі, тому вони є достатніми. Ми встановили всі поточні виправлення, але не перейшли на R2, оскільки у нас є багато інструментів, що зробить це значним кроком і не може знайти чітких ознак того, що це буде виправлено в R2.
Ми запустили ProcMon та інші інструменти, але на найбільш проблемних серверах ці інструменти навіть не запускаються. З іншого боку, результати, які вони надають, просто показують, що в цьому процесі дійсно є витік пам'яті.
Чи є спосіб ми звільнити пам'ять від цього процесу або уникнути помилок разом? Нам не потрібно перезавантажуватись, і ми не можемо перезапустити процес, коли він перебуває у стані помилки. Процес стає замороженим.
Ми намагаємось уникати регулярних перезавантажень, щоб "виправити" цю проблему, тому будь-які відповіді будуть вдячні.