On Thu, Apr 27, 2017 at 4:47 AM, Nikos Anastopoulos <n.anas...@gmail.com> wrote:
>
> I have a Go app that, among others, continuously parses XML files to extract
> dynamic info. This seems to cause a strange behavior in the Go runtime,
> according to which the underlying Go threads keep increasing over time.
>
> I verified this by commenting out several parts of my app code, coming up to
> a minimal working version which essentially calls xml.Unmarshal
> repetitively. You can have a look at it here:
> https://gist.github.com/anastop/e533628e5624c81b8822fda512aefaab
>
> When executing this minimal version on my platform (Ubuntu 16.04.2, Xeon
> E5-2699 / 88 CPUs, go1.8), I observe that it starts with 4 Linux threads in
> total and within 4 minutes it reaches e.g. 28 (and goes up), which is
> unusual w.r.t. what I observe with other Go apps. The problem becomes even
> worse when this code becomes part of my larger app, where I have observed Go
> thread counts reaching up to several hundreds (e.g. 300-400).
>
> Just to mention that I do not see any other strange behavior like increase
> in memory usage.
>
> As I want this app to introduce a minimal level of noise to other co-running
> apps, I am wondering whether this is a known/expected behavior, or I should
> resort to other workarounds to meet my requirements.

I tried your test program, but I can't recreate this.  How are you
measuring the number of threads used by the program?

Ian

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to