Unfortunately I can’t seem to even see how it would be possible for NiFi to tell you that since your custom Processors are running within the same JVM as NiFi. Having said that the 800% tells me that you probably have some processor with custom thread pool where each thread is spinning in the loop with a lot of misses on the functionality it expects to perform. For example: while (true) { if (someCondition){ // do something } } The above will definitely eat 100% of your CPU if ’someCondition’ never happens and if you have something like this running in multiple threads on 8 cores there is your 800%. That could be your code or some library you are using.
There is also a slight chance that your the code executed by multiple threads is actually doing something very CPU intensive Hope that helps Oleg On Oct 26, 2015, at 10:57 AM, Elli Schwarz <eliezer_schw...@yahoo.com<mailto:eliezer_schw...@yahoo.com>> wrote: Hello, We have a nifi flow with many custom processors (and many processor groups). We suspect that one or more processors are eating up CPU usage, so we're wondering if there's an easy way to tell which processor has a heavy load on the CPU. There are tables to see processors in order of number of flow files or bytes in/out, etc, but not based on CPU usage. In fact, I can't find a way to see a table of all processors that have active threads. All that we know is that the top command has nifi running at 800%, and we're doing trial and error by turning off processors until we hit the one that makes CPU utilization go down. We did see an earlier post about processors that poll can be eating up CPU cycles, but that doesn't seem to be the case here. Once in the past we had a custom processor with a bug that caused it to eat CPU cycles, but we discovered the issue not through Nifi but because we happened to be examining the code. Thank you! -Elli