Conversation

I have a WearOS watch which is a frustratingly janky piece of crap. Whenever you try to do anything on it, it freezes for several seconds. Why? because it's SWAPPING! what the what?! 1.9G of virtual memory for a daemon on a wristwatch? 21 java apps, each with >760M vmem? JFC
Image
6
35
Replying to
Right, but it's relying way too hard on the virtual memory mechanism to maintain the working set. The load average spikes >10 if I do something crazy like load the settings menu.
2
1
Replying to and
The issue is definitely not virtual memory usage. You can't really determine much from VIRT. Each mapping uses a small amount of memory, but larger mappings don't consume more resources. The design approach they use is to share tons of potentially used data via memory mappings.
1
Replying to and
In the default optimized spawning model, each app is forked from the Zygote, which preloads all the commonly used Java and native libraries including running their initialization code. It's a startup time and memory use optimization. It uses more actual memory with it disabled.
2
Replying to and
Whatever is wrong, I don't see a way it could be connected to the virtual memory usage. A lot of that would be from stuff like the Control Flow Integrity shadow mapping which reserves a ton of address space as PROT_NONE to guarantee it has contiguous space for all possible needs.
1
1