[GH-ISSUE #2259] pangolin keeps polling - cpu is used #8883

Open
opened 2026-04-30 04:59:15 -05:00 by GiteaMirror · 5 comments
Owner

Originally created by @BerndK-Str on GitHub (Jan 17, 2026).
Original GitHub issue: https://github.com/fosrl/pangolin/issues/2259

Describe the Bug

While there is no traffic (also no blocked one) the cpu is constantly using about 5%
This is not a drama but maybe a chance of improvement.
I have no idea if this is by intention, if so, please close this issue.

Environment

  • OS Type & Version: Linux pangolin 6.17.2-2-pve #1 SMP PREEMPT_DYNAMIC PMX 6.17.2-2 (2025-11-26T12:33Z) x86_64 GNU/Linux (LXC on proxmox with docker containers)
  • Pangolin Version: 1.14.1
  • Gerbil Version: -
  • Traefik Version: v3.6.4
  • Newt Version: -
  • CrowdSec: no version found, latest (Jan 2026)

To Reproduce

top
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
4757 root 20 0 17.3g 312572 38724 S 5.3 29.8 2:50.27 MainThread
123 root 20 0 1868244 39016 22620 S 0.3 3.7 0:05.17 containerd

note PID '4757' of process 'MainThread'

(apt install strace)

strace -tt -p 4757
strace: Process 4757 attached
09:33:10.183308 epoll_pwait(13, [], 1024, 1, NULL, 8) = 0
09:33:10.184519 epoll_pwait(13, [], 1024, 0, NULL, 8) = 0
09:33:10.184596 epoll_pwait(13, [], 1024, 1, NULL, 8) = 0
09:33:10.185804 epoll_pwait(13, [], 1024, 0, NULL, 8) = 0
09:33:10.185845 epoll_pwait(13, [], 1024, 0, NULL, 8) = 0
09:33:10.185909 epoll_pwait(13, [], 1024, 1, NULL, 8) = 0
09:33:10.187027 epoll_pwait(13, [], 1024, 0, NULL, 8) = 0
09:33:10.187114 epoll_pwait(13, [], 1024, 1, NULL, 8) = 0
09:33:10.188257 epoll_pwait(13, [], 1024, 0, NULL, 8) = 0
09:33:10.188323 epoll_pwait(13, [], 1024, 1, NULL, 8) = 0
09:33:10.189481 epoll_pwait(13, [], 1024, 0, NULL, 8) = 0
09:33:10.189547 epoll_pwait(13, [], 1024, 1, NULL, 8) = 0
09:33:10.190705 epoll_pwait(13, [], 1024, 0, NULL, 8) = 0
...

The 'AI' says: indication for busy-polling, the event loop never sleeps.

Expected Behavior

lower CPU when idle

Originally created by @BerndK-Str on GitHub (Jan 17, 2026). Original GitHub issue: https://github.com/fosrl/pangolin/issues/2259 ### Describe the Bug While there is no traffic (also no blocked one) the cpu is constantly using about 5% This is not a drama but maybe a chance of improvement. I have no idea if this is by intention, if so, please close this issue. ### Environment - OS Type & Version: Linux pangolin 6.17.2-2-pve #1 SMP PREEMPT_DYNAMIC PMX 6.17.2-2 (2025-11-26T12:33Z) x86_64 GNU/Linux (LXC on proxmox with docker containers) - Pangolin Version: 1.14.1 - Gerbil Version: - - Traefik Version: v3.6.4 - Newt Version: - - CrowdSec: no version found, latest (Jan 2026) ### To Reproduce top PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 4757 root 20 0 17.3g 312572 38724 S 5.3 29.8 2:50.27 MainThread 123 root 20 0 1868244 39016 22620 S 0.3 3.7 0:05.17 containerd note PID '4757' of process 'MainThread' (apt install strace) strace -tt -p 4757 strace: Process 4757 attached 09:33:10.183308 epoll_pwait(13, [], 1024, 1, NULL, 8) = 0 09:33:10.184519 epoll_pwait(13, [], 1024, 0, NULL, 8) = 0 09:33:10.184596 epoll_pwait(13, [], 1024, 1, NULL, 8) = 0 09:33:10.185804 epoll_pwait(13, [], 1024, 0, NULL, 8) = 0 09:33:10.185845 epoll_pwait(13, [], 1024, 0, NULL, 8) = 0 09:33:10.185909 epoll_pwait(13, [], 1024, 1, NULL, 8) = 0 09:33:10.187027 epoll_pwait(13, [], 1024, 0, NULL, 8) = 0 09:33:10.187114 epoll_pwait(13, [], 1024, 1, NULL, 8) = 0 09:33:10.188257 epoll_pwait(13, [], 1024, 0, NULL, 8) = 0 09:33:10.188323 epoll_pwait(13, [], 1024, 1, NULL, 8) = 0 09:33:10.189481 epoll_pwait(13, [], 1024, 0, NULL, 8) = 0 09:33:10.189547 epoll_pwait(13, [], 1024, 1, NULL, 8) = 0 09:33:10.190705 epoll_pwait(13, [], 1024, 0, NULL, 8) = 0 ... The 'AI' says: indication for busy-polling, the event loop never sleeps. ### Expected Behavior lower CPU when idle
GiteaMirror added the enhancement label 2026-04-30 04:59:15 -05:00
Author
Owner

@yann117 commented on GitHub (Jan 19, 2026):

I observed that as well, Pangolin is the most active app in my docker deployment.
I have a homeserver hosting Jellyfin, Immich, Filebrowser, Vaultwarden, ... and I fully agree with the OP, this is minor but probably room for improvement.

When you deeply fine-tuned your server for the lowest CPU usage and lower the power consumption, every saved Watt is welcome 👍

<!-- gh-comment-id:3769931473 --> @yann117 commented on GitHub (Jan 19, 2026): I observed that as well, Pangolin is the most active app in my docker deployment. I have a homeserver hosting Jellyfin, Immich, Filebrowser, Vaultwarden, ... and I fully agree with the OP, this is minor but probably room for improvement. When you deeply fine-tuned your server for the lowest CPU usage and lower the power consumption, every saved Watt is welcome 👍
Author
Owner

@tjakubo commented on GitHub (Jan 22, 2026):

Same here, and I'd be fine if it used a lot of CPU when proxying any traffic, but on a mini PC with a tiny passive heater a non-insignificant load 24/7 can throw in a wrench.

<!-- gh-comment-id:3784294452 --> @tjakubo commented on GitHub (Jan 22, 2026): Same here, and I'd be fine if it used a lot of CPU when proxying any traffic, but on a mini PC with a tiny passive heater a non-insignificant load 24/7 can throw in a wrench.
Author
Owner

@github-actions[bot] commented on GitHub (Feb 6, 2026):

This issue has been automatically marked as stale due to 14 days of inactivity. It will be closed in 14 days if no further activity occurs.

<!-- gh-comment-id:3857136231 --> @github-actions[bot] commented on GitHub (Feb 6, 2026): This issue has been automatically marked as stale due to 14 days of inactivity. It will be closed in 14 days if no further activity occurs.
Author
Owner

@BerndK-Str commented on GitHub (Feb 6, 2026):

Isn't there any comment or response from official contributors?

<!-- gh-comment-id:3858553537 --> @BerndK-Str commented on GitHub (Feb 6, 2026): Isn't there any comment or response from official contributors?
Author
Owner

@LaurenceJJones commented on GitHub (Mar 1, 2026):

as stated by @yann117 the issue is minor and we can look at it as an enhancement for future, the thing to keep in mind that there a lot of components that fetch configuration on a polling basis which most likely is where the lack of idleness comes from.

By your initial issue I guess your only using local site (as gerbil and newt have no version)? if so Traefik fetches every 10 seconds to get updated configuration (this in turn will make pangolin search the database for all routes and configuration that traefik needs to know), this is how the dynamic provider for traefik operates.

but as ever there never a bad opportunity to improve the codebase just currently on the list of items to resolve this is backlogged for future.

<!-- gh-comment-id:3979487092 --> @LaurenceJJones commented on GitHub (Mar 1, 2026): as stated by @yann117 the issue is minor and we can look at it as an enhancement for future, the thing to keep in mind that there a lot of components that fetch configuration on a polling basis which most likely is where the lack of idleness comes from. By your initial issue I guess your only using local site (as gerbil and newt have no version)? if so Traefik fetches every 10 seconds to get updated configuration (this in turn will make pangolin search the database for all routes and configuration that traefik needs to know), this is how the dynamic provider for traefik operates. but as ever there never a bad opportunity to improve the codebase just currently on the list of items to resolve this is backlogged for future.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/pangolin#8883