That high number “used memory 3450 MB (total 8GB)” is like a stain on a clean shirt for a light OS like Haiku, knowing that Haiku can do way better than that even with 6 apps running simultaneously, hopefully someone will find where this memory consumption problem comes from and fix it.
GNOME Web uses no small amount of memory, I would imagine that’s a bunch of it.
But yes, I have noticed some strange memory consumption numbers in app_server and in the kernel under certain workloads. The app_server usage may be some kind of recent leak, but the kernel one is probably a more long-standing issue. I tried to track down the kernel problem once and did not have much success (I think Qt Creator reliably triggers it, though, and at that time I attempted this I don’t think I realized that.) The app_server one, if it’s real, would be a more recent regression.
My app_server was using 52.8MB with only the Desktop and Tracker open. I restarted, and now it is using 34.7MB. Unless there is some cache using the remaining memory (I don’t think there would be), that seems pretty indicative of a leak. A few days ago it was using 700MB before I rebooted, I think…
The primary app_server changes in the last few months were the introduction of user fonts. However, I was mostly running applications that would not have been using user fonts; I’m not sure I even ran Web+ on that boot where it got up to 700MB. So, I’m not sure what the problem might be… Maybe @madmax might have some idea?
There’s now a per-app font manager even if user fonts are not used, but even if that was completely leaked it would be in the bytes range without fonts, needing more than a thousand apps to go over 1MB.
Anacdotal, I’ve been “full metal” Haiku nightly on 3 boxes for a very long time. During the last couple of weeks I have been doing serious app development using QtCreator (not Qt API), Debugger, and the other tools, and Haiku has been perfectly stable with no noticable performance regressions. This is 8 hours a day, 5 days a week. There are bugs I encounter, but system stability has become “excellent” during the last 3-4 months.
With the port of Epiphany, Haiku has become a daily driver for me.
Actually i’ve noticed that one along time ago, it’s just that it comes and goes randomly, so it’s really hard to figure out what triggers it
The kernel one has also increased recently, just a few months ago Haiku 64 bit used to boot with 300 MB, now it consumes 410 MB right after boot with no additional apps running.
The tools that can help with debugging these leaks and other memory related issues and even some undefined behaviors, are the sanitizers that can be enabled in gcc and clang, currently though they’re enabled neither in the buildtools nor in the haikuports packages, i don’t know whether they would need some haiku code or not in order to enable them, but i’ve seen some videos about them and they seem very effective and helpful.
I’m experiencing some serious and systematic problems with memory consumption recently.
In ProcessController, System resources&caches shows crazy allocation after a while up to a point where the system is not responding.
I usually have Genio (of course!), Web and WebPositive, Terminal, Telegram and a few other utilities running.
Killing Web and/or WebPositive usually gives me back a functional system again and System resources&caches bar gets back to normal. @waddlesplash may I help you by providing some data and logs?
Memory usage after boot is mostly a function of how many packages/drivers are installed/activated. So that’s not necessarily indicative of any particular problem. We really should optimize packagefs memory usage, and there’s some tickets about doing so, I think, but at least this is somewhat “expected” at the moment and isn’t a leak.
@ninos how was the temperature of your laptop? My System 76 gets probably too hot when running Haiku. The fan comes on at a low speed, but my hands get sweaty and a reboot into Linux has the fans kick in at max speed for a bit.
Haiku’s source code repo has at least two drivers that could be used: acpi_thermal and pch_thermal.
The first is more generic, the second only for some Intel systems.
If you have, say the acpi_thermal driver installed, you can use cat /dev/power/acpi_thermal/0.
But until those drivers gets added to the default images, I’m afraid you have to compile them yourself to be able to use them.
I’ve wrote a driver to read the temps for some AMD systems (older than Ryzen, but at least using AM2 motherboards), and one for the ITE87xx chipsets present on some motherboards (reads temps/voltages).
I’ll provide links to both, in case someone is willing to give them a try (and crazy enough to trust my “programming” skillz )
(Use them at your own risk and if you’re comfortable with dealing with such things)
My idea was (besides finishing my “Hardmony” hardware monitoring app) someday, add their readings (specially the one from acpi_thermal/pch_thermal, as they are official Haiku driver), to the ActivityMonitor app.
We’ll see. I have problems keeping focused on one thing