Can I disable gl_monitor, gl_health?

Why not? Again, “free memory is wasted memory”. What does “top” on the device say? Where is the used memory allocated?

lighttpd 7%
www/api 6-7%
www/html 4%

nmbd, smbd 4%

gl_health 3%
gl_monitor 2%

hostapd, procd, rpcd, netifd, odhcpd, logd, ntpd, ubusd etc system processes are taking 2-3% each.

The top 3 memory consumptions are due to the admin panel. That’s why I was requesting to optimize it. I love the new admin panel. especially the VPN configuration UI and the software installation UI because those things don’t have such great UI in the luci interface.

No, those aren’t telling us the right information. ssh into the device and run “cat /proc/meminfo”.

if most of your “used memory” is merely “buffers” or “cache” then it’s doing what it’s supposed to, and like I keep saying nothing to worry about.

MemTotal: 59912 kB
MemFree: 9876 kB
MemAvailable: 23148 kB
Buffers: 6272 kB
Cached: 17604 kB

These are confusing. Different commands show the outputs differently. free shows some other outputs. The top command output and the luci web interface output matches. How ever as I read in some article, MemAvailable is the actual memory available for newly started program without swapping.

MemFree: The amount of physical RAM, in kilobytes, left unused by the system.

MemAvailable: An estimate of how much memory is available for starting new applications, without swapping. Calculated from MemFree, SReclaimable, the size of the file LRU lists, and the low watermarks in each zone. The estimate takes into account that the system needs some page cache to function well, and that not all reclaimable slab will be reclaimable, due to items being in use. The impact of those factors will vary from system to system.

I wish you’d included the full meminfo output (namely, the “anonymous” entries), but:

“Cached” and “Buffers” hold data and/or programs in memory, so they don’t have to be pulled from the far-slower flash memory, and most of that can be reclaimed if necessary. Not only that, inactive processes will have their memory reclaimed, and paged back in if they’re needed. Not only that, many programs link to shared libraries, which (depending on the tool) “contribute” to the size of a program, but they’re really only in memory one time, whether one program is using it, or 20.

As I’d said before, you have plenty of memory left over for anything reasonable you’d like to do with this box, stop worrying about it.

1 Like

Yup, he would probably have to optimize his programs if they really need 20mb or more ram on a router…

Thank you @kennethrc and @Johnex for your clarification.

Hi, @Johnex @kennethrc Just a quick question.

root@MrGhosh:~# cat /proc/loadavg
1.37 1.09 1.08 1/64 29235

I read that for a single core CPU, load avg of 1 means that the processor was optimally used. No process was waiting for CPU time. In my v2.27 firmware, the load averages were used to be around 0 (say, 0.11, 0.30 etc. because the system was mostly idle), but now, it is always more than 1 (the system is factory default and by always I mean it never comes below 1) and sometimes it goes around 3-4. Should I be worried?

You can look in Luci at the process list, check which processes are using most CPU. Ofc that while using the UI, or having it open, that is a lot of load on the cpu, the GL UI is doing many requests per second to update all the data.

Please have a look at the following screenshot. No process is taking much of CPU. Still, the load average never drops below 1. I am not using any UI (GL admin panel or luci) currently. Still such high load.

I was concerned about memory and you guys explained that it was fine. But I think that I should be worried about the CPU load. Should I open a new thread about this?

Moreover, I could not sort the results. This is busybox top and original top command’s switches are not working. How to sort the processes based on memory,cpu etc?

Well you can see yourself. Just 1 process is sitting there working, which is top. The other processes are idle.
Look a the cpu usage not the “load averages”.

Load average values are a very standard way to check system load. Those values don’t lie.

… talk about “making something out of nothing”. Good luck, I don’t know what you think you’re seeing. though.

A load average never going below 1 and you claim that this is fine? load average has no relation with CPU usage. this is the measure of load on the system.

I understand that I was over-concerned about the RAM issue but as far as I understand, this load average is not normal. My usage pattern has not changed and in firmware v2.27, My load wad around 0.1 generally

You are the only user that has an issue with this. If you feel that you need more power, get a B1300 that is quad core and will show probably 0 at all times. Unless you see actual issues when running your programs, the stats don’t matter honestly.

Do real world testing with your programs.

OMG … “load average” is “average number of processes in ‘ready to run’ state” over some period of time.

… so question: what is marshalling out the output of “top” from the stdout buffers, to the socket, thru the networking stack, and out the interface? Invisible fairies, or the CPU, which has to be running a thread or process to do all that?

John is right- if you have this many doubts (which is “inexperience”, IMO) about the GL-iNet devices (which are highly rated, I have three of various models) then yeah, you should get another brand.

1 Like

I have no doubt about the hardware. Maybe you missed out the part where I mentioned that while using firmware v2.27, on the same hardware, it always had reasonable load average.

The version 3.0.5 is called testing firmware for some reason. The reason is that it must have room for optimization and it is not fully ready. User feedback is important in this stage. And my “inexperienced” knowledge says that load average of 1.0-5.0 using factory settings is pretty high.

If you have some information on how to troubleshoot and find out the reason causing this high load, you can share that. Saying that “it is not causing any visible immediate problem” is not the solution.

I can always shift to stock openWRT rather using gl-inet admin panel to resolve these issues. But I thought that GL-inet is doing a great job with this new admin panel, thus I wanted to use it for some days.

I am learning things and every article I read, said that I should check out the reason(s) for high load average, once it exceeds 1 for single core CPU and in my case it always stays above 1 after flashing the new testing firmware 3.0.5. That’s all I have to say.

1.0 IS a reasonable load average.

… and what changed with the 2.X → 3.X transition? If the kernel changed, what is a “load average” can change as well (sometimes they consider different points in the I/O chain for “load” consideration, or what’s “ready to run” when it comes to sleep states, etc.). Maybe the tool you’re using to look changed.

But again, you are finding problems where none exist. You know, some of us do this for a living and know what we’re taking about, especially when you consider your router doesn’t actually HAVE any problems.

I’m out, for real this time. Good luck