-
Notifications
You must be signed in to change notification settings - Fork 8.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
High memory usage caused by hardware rendering #16983
Comments
Hi I'm an AI powered bot that finds similar issues based off the issue title. Please view the issues below to see if they solve your problem, and if the issue describes your problem please consider closing this one and thumbs upping the other issue to help us prioritize it. Thank you! Closed similar issues:
|
Can you please install our nightly ("canary") release? You can find it here: https://aka.ms/terminal-canary-installer Afterwards please take the following steps:
If the memory usage drops after the last step and only after the last step, we can already be extremely certain that it's due to your graphics driver. However, we can debug it further if you'd like. There are two ways to do so:
|
Thanks for your detailed response! I've tried again with Terminal Canary, and the result is roughly the same as before. With 10 tabs open:
I also suspect it's due to the graphics driver. This Intel Arc graphics card is not yet recognized by the latest GPU-Z... A full memory dump would be around 100 GB. So I run VMMap as admin, and this is a screenshot of the Total memory: None of the Private Data regions shows a thread ID (otherwise I would notice that yesterday). After 1 hour of waiting and some activities in Terminal Canary, a refreshed view shows each 65,536 KB Private Data regions still has 1 Read/Write. The top ASLR Image is igc64.dll (65.7 MB of file size) from the graphics driver, the Intel Graphics Shader Compiler for Intel(R) Graphics Accelerator. It's also loaded by dwm, IGCC, Chrome, VSCode, etc. I guess it's better to stay with WARP until an updated driver brings good luck, right? |
Thank you very much! I've learned a lot again. The download link for a WPR trace file with a full memory dump has been sent to your email. |
For some reason my WinDbg can't search any heaps anymore, but I need that because otherwise I can't find the addresses of the AtlasEngine instances in the memory. So, I'll have to unfortunately respond later when it comes to the dump. However, given the stack trace in the WPR I believe it's likely that the driver allocates a 64MiB ring buffer for uploading Direct3D resources that have In any case, I believe this may be another indication why we need #15186 much more urgently than it may seem. |
Thanks a lot for your help and detailed explanation. Now I have my stack view and flame graph, too! The laptop is using the latest graphics driver from the OEM (Lenovo), but there is a newer version from Intel released on March 27. After a public holiday leave of 3 days, I can try my luck again with an update. |
I'm glad to report that this issue is solved by the latest Intel graphics driver (31.0.101.5382), updated from the OEM-provided driver 31.0.101.5008. It works in both the latest release (1.21.921.0) of Terminal and the Canary. On the same laptop, Canary with 10 tabs uses about 380 MB (Automatic or Direct3D 11). Software rendering uses a much lower 100 MB, but it's quite acceptable. Roughly the same numbers for the latest release with the AtlasEngine. Frankly I didn't expect the new driver to work so well, since its release note doesn't mention a word about this issue. There are multiple releases in between, so it must be one of them that comes up with the fix. Here is how a 10-tab Canary process now looks in VMMap. The 64 MB regions of 1 Read/Write are gone, replaced by roughly 32 MB for each tab with some activities. Huge thanks to @lhecker again. Your help and guidance are truly invaluable! |
Thank you so much for following up! We'll close this and keep it around for anybody that asks this questions. 😊 |
Windows Terminal version
1.19.10821.0
Windows build number
10.0.22631.3296
Other Software
No response
Steps to reproduce
Expected Behavior
The hardware rendering option should use much less memory.
Actual Behavior
Already reported. I suspect this issue may be hardware related. It happens on a new ThinkBook 16 Gen 6+ laptop, with an Intel Core Ultra 7 CPU and Intel Arc graphics card. The driver is up to date (v31.0.101.5008). It's not affected by which shell is opened.
On the same machine, no other programs (e.g. Chrome and VSCode) have this issue. It doesn't happens on other machines I've tested, with exactly the same Windows Terminal configuration.
In VMMap, it can be observed that the Private Data takes 9/10 of the committed memory. It contains multiple regions of 65,536 KB marked as Thread Environment Block.
The text was updated successfully, but these errors were encountered: