Chúng tôi có khoảng 200 máy chủ, Hyper V, File Cluster và IIS, tất cả đều gặp cùng một vấn đề, một sự kiện xảy ra trên máy chủ thông qua việc sử dụng bình thường tối đa hoặc gần hết tối đa RAM trên máy chủ. Khi điều này xảy ra, dịch vụ SVCHOST / Workstation, cụ thể (được loại bỏ bằng cách cách ly dịch vụ Workstation với SVCHOST của chính nó) dừng giải phóng tay cầm / luồng và bộ nhớ được sử dụng bởi dịch vụ đó sẽ không bao giờ được giải phóng. Trong một số trường hợp cực đoan, chúng tôi có các dịch vụ Workstation đang sử dụng tối đa 40 GB ram trên máy chủ 255 GB. Cũng tìm thấy lên tới 40 triệu tay cầm trong một số trường hợp.
Khi khởi động lại, tất nhiên, vấn đề sẽ biến mất và không xuất hiện lại cho đến khi tất cả bộ nhớ đã được sử dụng, theo quy trình W3 hoặc HyperV VM, sau đó, dịch vụ Workstation bắt đầu lấy hết RAM. Quá trình này rất chậm và có thể mất vài tuần / tháng tùy thuộc vào dung lượng RAM trên máy chủ.
Cả máy chủ Hyper V và máy chủ IIS của chúng tôi đều truy cập vào các chia sẻ cho các tệp đang hoạt động, các chia sẻ này nằm trên bộ lưu trữ SSD, vì vậy chúng có hiệu suất cao. Chúng tôi đã cài đặt tất cả các bản vá hiện tại nhưng chưa chuyển sang R2 vì chúng tôi có rất nhiều công cụ sẽ biến điều này thành một bước quan trọng và không thể tìm thấy bất kỳ dấu hiệu rõ ràng nào cho thấy điều này sẽ được khắc phục trong R2.
Chúng tôi đã chạy ProcMon và các công cụ khác nhưng trên các máy chủ có vấn đề nhất thì các công cụ đó thậm chí sẽ không chạy. Mặt khác, kết quả họ cung cấp chỉ cho thấy rằng thực sự có sự rò rỉ bộ nhớ trong quá trình đó.
Có cách nào chúng ta có thể giải phóng bộ nhớ khỏi quá trình này hoặc tránh lỗi cùng nhau không? Chúng tôi không muốn phải khởi động lại và chúng tôi không thể khởi động lại quá trình một khi nó ở trạng thái lỗi. Quá trình trở nên đóng băng.
Chúng tôi đang cố gắng tránh thực hiện khởi động lại thường xuyên để 'khắc phục' vấn đề này, vì vậy mọi câu trả lời sẽ được đánh giá cao.