airdcpp-web / airdcpp-webclient

Communal peer-to-peer file sharing application for file servers/NAS devices
https://airdcpp-web.github.io
171 stars 31 forks source link

Occasional high CPU utilization of the ADC web browser tab https://127.0.0.1:5601/transfers and 2GB memory. #448

Open slrslr opened 1 year ago

slrslr commented 1 year ago

Current UI and client versions:

Application version AirDC++w 2.11.2 x86_64 Web UI version 2.11.2 Web UI construir date September 19, 2021 10:12 AM API version 1 API feature level 7 Started a day ago Active sessions 1 Server threads 4

Operating system:

Debian 11 stable version of the distribution and also of the firefox-esr package (102.10.0esr (64-bit)) and KDE desktop.

Steps to reproduce the issue:

I usually have around ~7 active transfers each like 150kB/s. Incoming searches (Total searches 3375455 (36.9 per second)) Average matching time per text search 28 ms

In mentioned Firefox-ESR, open on a new tab address "about:processes" and sort by CPU column. Switch to Transfers tab https://127.0.0.1:5601/transfers and ideally make sure you have similar number of active transfers as me. Switch back to "about:processes" tab (Firefox process manager) to see CPU usage of the Air DC, it is shown in 2 rows. In my case it sometimes spike to even 100%. and the memory figure of the AirDC tab is 2GB which is top memory hog of all open tabs, Next biggest is Twitter with 0.6GB (size of old operating system, which is still too much).

AirDC-cpuusage-Firefox-esr

If you can think about some optimizations in this regard.

maksis commented 1 year ago

You should be using the latest application version

slrslr commented 1 year ago

You should be using the latest application version

Yes, I have updated per your suggestion. 😍 Application version AirDC++w 2.11.4 x86_64 Web UI version 2.11.5

Running it around 2 days and the RAM is 150-350MB and CPU is 1-15%. After next 24 hours, usage is 450MB.

maksis commented 1 year ago

I assume that the issue has then been fixed (I have no idea what could have caused it though)

slrslr commented 1 year ago

I am back, I do not see 100% CPU, but memory is back to 2GB after like 3 days of uptime, video of the Firefox "about:processes" page/tab is here. Application version AirDC++w 2.12.1-8-gaa1d x86_64 Web UI version 2.12.0 10-20 hubs Several TBs of data ~7 active transfers Priva MiB + Share MiB = Total RAM SWAP Process 127.3 MiB + 0.5 KiB = 127.3 MiB 29.1 MiB airdcppd cat /proc/mem* here @maksis any idea regarding this 2GB memory usage and if it is fine and possible to reduce it? UPDATE: last weeks i was not monitoring the resources usage, so i do not know. I have checked it just recently.

maksis commented 1 year ago

after like 3 days of uptime

Daemon or browser (UI) uptime? The daemon won't matter here as the UI is effectively a separate application that runs in the browser.

Can you test it with a different browser to see if it's the same? It would also good to know if the memory usage just steadily increases over time (maybe you could start with a fresh session and check the memory usage daily).

maksis commented 1 year ago

Oh and will the memory usage remain reasonable if you don't open the transfers page?

slrslr commented 1 year ago

@maksis

Daemon or browser (UI) uptime

I was talking about system uptime, but anyway following is about ADC Client uptime:

During 2GB RAM usage shown in Firefox, about:processes tab, the 127.0.0.1:5601/home shown that the Client started 4 days ago (i do not know if the process that is running inside browser has same age - i have seen some ADC UI crashes inside browser tab where page refresh instantly fix the ADC web client "crash".

Then I have seen that the Firefox about:processes AirDC RAM usage dropped to 580MB, not 2GB as it was before. Inside Librewolf browser, RAM usage stays at 60-80MB for couple of days, later mem. usage in FF climbed to 1GB (in 24-48 ours?)

Firefox v. 102.11.0esr Librewolf browser v. 113.0.1-1

about:performance tab on other hand shows 40MB AirDC web client memory usage in LibreWolf and 21MB memory in Firefox.

will the memory usage remain reasonable if you don't open the transfers page

Yes. I have closed the ADC client browser tab, restart ADC (actually kill it since i do not see shutdown button) and open ADC client browser tab on Search page and let it be 24 hours. RAM usage not raised and is around 100MB in Forefox. In LibreWolf browser it is 65MB even it was on Transfers tab... so the high mem. usage in displayed in FF seems to be caused by Transfers tab.

maksis commented 1 year ago

about:performance tab on other hand shows 40MB AirDC web client memory usage

40 MB under about:performance and 1GB under about:processes? You could also try "Free memory" functions under about:memory (GC/CC). The memory tab also has the "Measure" button under "Show memory reports" that might provide useful information.

maksis commented 1 year ago

If you have browser extensions installed, it might be a good idea to have those disabled while testing

slrslr commented 1 year ago

40 MB under about:performance and 1GB under about:processes?

yes. Here i paste "about:memory" -> Show memory reports -> Measure -> filter ADC port "5601" output during 359MB RAM usage (it risen from around 100MB since last like 9 hours when i have loaded Transfers tab):

https://bin.disroot.org/?eba1202f01b644e4#J67pqAC1r1kX4TkskTTCm91zyYxXbPU2utu5QDuf9DB5 (password: adc)

I have not disabled browser extensions.. GC, CC and Minimize memory usage functions has rather insignificant ( <~10% ) memory decrease of the ADC process shown by "about:processes" tab. And it returns back by the speed of like 1MB/s to orig. value of 395MB (should continue to rise to maybe ~1GB in lets say 18 hours i expect). A few minutes later i see 446MB. If you need any particular detail, let me know, if privacy sensitive, i may send to your profile mail or do messenger chat..

maksis commented 1 year ago

I can see that there's something wrong with the list views as it keeps on fetching the same date over and over again. This only seems to happen with Firefox.

Sopor commented 1 year ago

I'm running four WebUI and two of them are AirDC++ and two the Web Client.

This is from Chrome and i do see an increase of memory use from some days ago:

image

But after a few minutes they are now back to 175-300K.