-
Notifications
You must be signed in to change notification settings - Fork 2.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
High CPU usage by droned process #1099
Comments
Have you tried using http://www.sysdig.org/ utility to gather more debug info about the droned process while it's running. |
Following is the output of sysdig process trace, I am getting when CPU utilization is at 99%. 32 01:24:45.558975540 0 droned (11153) < clock_gettime |
I think I hit this issue too. I'm using the latest 0.3.0-alpha release and after drone running 1 day long, the page loading costs more than 1 minute, even for a user login. I see that angular.min.js says get user costs more than 15 seconds and see /api/user return 401 in chrome debug console. However, after I added some debug logs into GetUserCurrent(), there's no such logs output, seems the angular.min.js didn't access /api/user at all. Weird! But if I click login to login, GetUserCurrent() does print some logs. |
em, seems there are some magic in go web server, even I run |
OK, it's first handled by |
No magic on the server side. The angular app caches the user for duration of the session (in JavaScript): The appropriate headers are set server-side to prevent browser caching: This issue could be the result of a race (in Drone or in the underlying http library) or even a race in the sqlite database code (unlikely). I was able to reproduce once, but not reliably, which has limited the ability to diagnose and fix. If you are using mysql it could be this known issue with the driver timing out as well, if mysql kills idle connections: |
We have seen this behavior, too. I created a build w/Go the profiler and didn't have much luck identifying the problem. I'd been intending to do some instrumentation of the code to try to identify where it might be occurring, but haven't gotten around to it. In the meantime, I've been hoping that 0.4 won't exhibit the same behavior, and look to aggressively move to that soon. |
@benschumacher agreed, the problem may not even exist in 0.4 which is why I haven't pursued it more |
FYI, I am running Version: 0.3.0-alpha-1437596183 now & I don't see high CPU usage. The 'droned' process is up since last 13 days without any spike on CPU usage. |
After having a day long running, didn't reproduce this issue today, I'll wait for another day. |
marking as fixed in 0.4 |
I am running a drone docker container integrated with GitLab with Drone Version: 0.3.0-alpha-1436428588.
The CPU utilization reaches 99.9% generally after 24 hours of uptime of 'droned' process. Following is output of 'top' from the 'Ubuntu 14.04.2 LTS, Trusty Tahr' host running drone.
top - 18:09:56 up 1 day, 17:32, 1 user, load average: 1.00, 1.01, 0.97
Tasks: 75 total, 3 running, 72 sleeping, 0 stopped, 0 zombie
%Cpu0 : 99.0 us, 0.7 sy, 0.0 ni, 0.0 id, 0.0 wa, 0.0 hi, 0.3 si, 0.0 st
KiB Mem: 2050060 total, 813368 used, 1236692 free, 262560 buffers
KiB Swap: 0 total, 0 used, 0 free. 349076 cached Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2724 root 20 0 487928 17616 7676 R 99.9 0.9 55:54.18 droned
There hardly 2-3 builds running in a day so most of the time drone is inactive, in spite of inactivity it utilizes 99% of CPU.
Please look into this issue. I can provide you more details if needed regarding this issue for debug.
The text was updated successfully, but these errors were encountered: