opkgo.blogg.se

Paperclip ffmpeg ubuntu 14.04 avconv
Paperclip ffmpeg ubuntu 14.04 avconv









paperclip ffmpeg ubuntu 14.04 avconv

You can try to put a breakpoint in createOSThread to see why workers are created.

paperclip ffmpeg ubuntu 14.04 avconv

Let's not forget about FFI also - FFI call may block worker. I can only guess that they are serving IO manager threads: see here. It's hard to say why you have 14 workers in -N4 case. On startup ghc creates one worker per capability, then they are created as needed and reused when possible. The other *:w threads are workers, they are created whenever there is more work to do (aka Task), but there are no more spare workers, see here The interval timer is used for profiling and for context switching in The ghc_ticker in spawned at startup, it runs this function. I'd also accept an answer that helped guide me to instrumenting my code to figure out these latter two questions. Why 14, and why are half of them spawned and die? 14 of these "my-service:w" threads, and when under load these process IDs seem to churn (half of them stay alive until I kill the service). I also noticed on a large real service I'm testing with +RTS -N4 I'm getting e.g. What are these "hello:w" threads, and why are there apparently two per HEC + 1? It looks like I get N*2 + 1 of these "hello:w" threads as I vary +RTS -N. I'm trying to understand how the parent and various child OS threads work in a haskell program compiled with GHC -threaded.Ĭompiling with -threaded on ghc 8.6.5, and running with +RTS -N3 for instance, I can see $ pstree -p 6615











Paperclip ffmpeg ubuntu 14.04 avconv