I have a webpage where the backend is written in Go and running on Ubuntu, and after a certain amount of days and activity, like clockwork, the goroutine will throw a 'panic' and start giving 502 proxy errors. The error I'm getting in Go is "too many open files."
After doing some research, I feel that I've narrowed the issue down to having too many "open file descriptors." I have read different proposed solutions which seem to have varying results for different people. That is all fine, but if I wanted to actually view these supposedly open file descriptors in realtime so that I can actually pinpoint what these "files" are how would I do that? I ask this because rather than try to guess as to which parts of my Go program are causing this I'd like to see if I can narrow things down even further (possibly to a MySQL socket that's not closing properly, or an OS file also not closing properly, etc.)