Comments (8)
Thanks for opening this issue. As the person who reported it on twitter I appreciate having this issue formally recorded.
I can see two possible ways of improving this situation:
-
Disable or detune memory compression on systems with lots of memory. On a 32+ GB system the benefits from memory compression are much smaller, and the costs are much greater. A reproducible 10:1 regression happens with VsChromium but can happen with any tool that sits idle for a while and then needs to touch a large percentage of its memory. This sort of tool is far likely to be run on a 32+ GB system. It is the sort of tool that justifies buying that much memory, so killing its performance is unwanted. Meanwhile the benefits are modest because a 32+ GB system will, generally speaking, have enough available memory. Using memory compression to free up a few GB is unlikely to be important or valuable, especially if the system has 10+ GB available.
-
The other possible solution is a way to have processes opt-out of memory compression. This would let (for instance) SQL server, VsChromium, and other tools which justifiably use large chunks of memory avoid the pathological effects. Currently this opt-out can be implemented by scanning through a processes memory on a timer, but that is a problematic solution - please don't force VsChromium to do that.
from windows-dev-performance.
My main use case continues to be using VsChromium. I'll have 30+ GB of available memory, then Windows will decide to compress VsChromium's memory, which means that my next search will take several seconds instead of being instantaneous. A few second delay isn't the end of the world, but it defeats the entire purpose of VsChromium which is to have all of Chrome's source code loaded into RAM and ready for instant access. Not access with a few seconds of delay, but instant.
from windows-dev-performance.
If Microsoft cared about its customers and listened to the feedback, we would have an option like this:
Heck, even disabling memory compression on 8 GB system has a big impact, especially for web dev.
from windows-dev-performance.
My main use case continues to be using VsChromium. I'll have 30+ GB of available memory, then Windows will decide to compress VsChromium's memory, which means that my next search will take several seconds instead of being instantaneous. A few second delay isn't the end of the world, but it defeats the entire purpose of VsChromium which is to have all of Chrome's source code loaded into RAM and ready for instant access. Not access with a few seconds of delay, but instant.
Indeed. Would be very useful if microsoft allowed the user to customize MMAgent behaviour, especially on systems with lot's of memory. It's a shame that such an useful feature is causing problems for being overly agressive
from windows-dev-performance.
I think Memory Compression can manually be disabled by executing Disable-MMAgent -MemoryCompression
in Powershell. Documentation here.
Of course, this shouldn't be necessary.
from windows-dev-performance.
Hi. Id love to know why yall never did anything about this? cause even now my Win 10 Pro 22H2 19045.2728 with 32GB of system RAM is regularly compressing and consuming 13GB+ of RAM slowing down and causing RAM hungry apps like chrome and Steam to crash.
from windows-dev-performance.
On my testing i found a 7,3% performance penalty when running blender from compressed memory, (24,5gb vs 7gb).
The main issue is that when a resource hungry process is running for some time, it just takes a new process using more than 8gb of ram, for windows to start compressing others processes memory (even resource intensive ones that are running using constantly 70% of the cpu), even when almost HALF of total memory is free (e.g. 50gb) and there is no need to free up more
from windows-dev-performance.
@randomascii, Does your company have a retainer with Microsoft? I'm wondering if it might be more efficient to file a request with MS via their official (paid) support services.
from windows-dev-performance.
Related Issues (20)
- PROCESSOR_POWER_INFORMATION.CurrentMhz no longer shows CurrentMhz HOT 7
- Throttling detection needed in Windows HOT 5
- Symbol server PE files are being overwritten with different versions HOT 13
- WinDbg's `dU` command is painfully slow HOT 4
- Merge module validation in Orca fails on well-formed merge module
- NT heap scales horrendously in some cases HOT 2
- Set up your dev environment on Windows for Rust HOT 2
- PrefetchVirtualMemory does not prefetch virtual memory (windows api bug) HOT 1
- Explorer leaks resources over a long time HOT 2
- Configuring RDP with MSA is impossible using the RDP Developer Menu HOT 1
- Argon containers use only weak cores on systems with heterogeneous CPUs HOT 4
- Extremely slow Context Menu launch in Windows Explorer HOT 2
- Unexpected Sleep(1) Precision with Different Clock Interrupt Frequencies (Timer Resolution) HOT 3
- Dev drive has vanished HOT 3
- Windows incorrectly schedules utility QoS threads exclusively to E-cores when running on AC power
- Alt + Tab Sometimes Skips over the Last Window
- Alt+tab issue when in full-screen app HOT 2
- Can't Pinpoint What to do with Error PR175 with Visual Studio HOT 2
- "Must define a target architecture" issue from winnt.h when included by `.rc` files HOT 7
- Consistent CPU performance for benchmarking HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from windows-dev-performance.