Are there other ways to further reduce memory usage? Also, why are there two identical processes? Is there a way to remove one of them?
I found that luci-base cannot be removed because I need util.lua to run normally.
If my current situation is already the lowest, will replacing other web servers improve the situation? I read an article before that said lighttpd is not better than uhttpd;
Thank you for taking the time to browse
It appears you are using firmware that is not from the official OpenWrt project.
When using forks/offshoots/vendor-specific builds that are "based on OpenWrt", there may be many differences compared to the official versions (hosted by OpenWrt.org). Some of these customizations may fundamentally change the way that OpenWrt works. You might need help from people with specific/specialized knowledge about the firmware you are using, so it is possible that advice you get here may not be useful.
Ask for help from the maintainer(s) or user community of the specific firmware that you are using.
Provide the source code for the firmware so that users on this forum can understand how your firmware works (OpenWrt forum users are volunteers, so somebody might look at the code if they have time and are interested in your issue).
If you believe that this specific issue is common to generic/official OpenWrt and/or the maintainers of your build have indicated as such, please feel free to clarify.
Thanks for your answer;
I have two sections, two ports, and normally it should correspond to two uhttpd instances, right? But sometimes it turns into three uhttpd instances, which is normal? Why is there an extra one inexplicably?
You might try listen_http list of port or address:port pairs #Notice ... list... !!!
To try, to use one instance of uhttpd only, listening on 2 ports. Dunno, how this works, though.
If the cpu is mips you can make sure mips16 is used for comping binaries.
For Arm 32bit / v7 you can compile the kernel and binaries in thumb mode for reduced memory use.
You can make sure the kernel and the packages are compiled for size instead of performance though I think that's the default.
Also something to consider is just not keeping uhttpd up, just disable it in the startup and if you need web access just ssh in and temporarily enable it when you need it /etc/init.d/uhttpd start and turn it back off once you're done /etc/init.d/uhttpd stop
Thanks for the answer;
Regarding the compilation part, I will ask the relevant personnel for confirmation;
I think it makes sense to disable uhttpd, I want to monitor port 80 and start uhttpd when there is network access.
I am a lighttpd developer and I'd be interested in hearing something more detailed than a "trust me bro" without even a link!
lighttpd has many more features than uhttpd and most of those features are optional and in separate modules which do not get loaded if you do not configure them to be used.
lighttpd is resource efficient and can be further tuned for low-resource system and environments.
If you do not use web services frequently, lighttpd can optionally be started on demand and run from e.g. inetd or xinetd