-
Notifications
You must be signed in to change notification settings - Fork 33
Description
Description
I am experiencing unexpectedly high CPU usage on my Conduit instance. Despite setting a resource limit of 0.2 cores per container, the host system reports a conduit process (running via bash) consuming nearly 100% of a core.
Environment
- OS: Ubuntu 24.04.3
- Conduit Version: Latest 1.3
- Deployment: Docker 28.1.1
- System Specs: 4 CPU cores, ~24GB RAM
Observed Behavior
I have applied a CPU limit of 0.2 cores per container. While the child processes (conduit start) appear to stay within a ~20% range, the parent/wrapper process is spiking to over 90% CPU usage, often staying around 100%.
Resource Limits Applied:
═══ RESOURCE LIMITS ═══
Container CPU Limit Memory Limit
────────────────────────────────────────
conduit 0.2 cores 512m
conduit-2 0.2 cores 512m
conduit-3 0.2 cores 512m
conduit-4 0.2 cores 512m
Process monitor output:
ps aux --sort -%cpu | grep conduit
root 1941950 92.7 0.0 14256 10012 ? R Feb09 705:12 /bin/bash /usr/local/bin/conduit
opc 1892388 19.7 0.2 2578764 70296 ? Ssl Feb09 152:06 conduit start --max-clients 500 --bandwidth 5 --stats-file
opc 1892830 19.6 0.2 2505164 70124 ? Ssl Feb09 151:21 conduit start --max-clients 500 --bandwidth 5 --stats-file
opc 1892612 19.6 0.3 2505100 79988 ? Ssl Feb09 151:04 conduit start --max-clients 500 --bandwidth 5 --stats-file
opc 1893054 19.5 0.2 2726352 62912 ? Ssl Feb09 149:55 conduit start --max-clients 500 --bandwidth 5 --stats-file
root 1893204 1.4 0.0 8464 4372 ? Ss Feb09 11:18 /bin/bash /opt/conduit/conduit-tracker.sh
root 2860927 0.0 0.0 8464 2988 ? S 12:36 0:00 /bin/bash /opt/conduit/conduit-tracker.sh
Steps Taken to Resolve
Applied CPUQuota=5% in /etc/systemd/system/conduit.service.
daemon-reload and restarted the service.
Result: The directive was ignored or bypassed by the binary/bash wrapper, and CPU usage remained at ~100%.
Additional Context
It appears the bash script at /usr/local/bin/conduit might be entering a tight loop or failing to pass signals correctly to the child processes, causing it to consume host resources outside of the intended container constraints.