We found high CPU consumption (our java application 70%, supervisor 30%) when using supervisor
After running strace, it turned out that this consumption is associated with redirecting application's stdout to log file - supervisor using system calls read/write/select in python2 and poll in python3 - and apparently the main cpu time is spent on select syscall. Also we can't use kqueue since we use ubuntu
We need logs, so we want to reduce CPU consumption without turning them off
So far, the only thing that comes to mind is using epoll instead of select/poll to wait for descriptors in the hope that it will help
Are there any plans to add epoll to pollers list?
If so, when will it happen? And if not, is it worth adding its support on my own? Are there any pitfalls here?
Or maybe you can suggest how to solve this problem in some other way?
Hi!
We found high CPU consumption (our java application 70%, supervisor 30%) when using supervisor After running strace, it turned out that this consumption is associated with redirecting application's stdout to log file - supervisor using system calls read/write/select in python2 and poll in python3 - and apparently the main cpu time is spent on select syscall. Also we can't use kqueue since we use ubuntu
We need logs, so we want to reduce CPU consumption without turning them off So far, the only thing that comes to mind is using epoll instead of select/poll to wait for descriptors in the hope that it will help
Are there any plans to add epoll to pollers list? If so, when will it happen? And if not, is it worth adding its support on my own? Are there any pitfalls here?
Or maybe you can suggest how to solve this problem in some other way?