[erlang-questions] erlang:exit/1 eats lots of CPU time
Maxim Treskin
zerthurd@REDACTED
Tue Jan 5 17:50:36 CET 2010
TOP 5 from total analyse:
Total time: 15.98
Measurement overhead: 0.89
FUNCTION CALLS TIME
erlang:exit/1 50 80 %
megaco_text_scanner:safe_chars/5 2792 1 %
log_server_core:process_message/3 929 1 %
gen_server:do_cast/2 1008 1 %
log:log/6 929 0 %
where log_server_core and log is our internal modules.
TOP 30 exits from complete eprof log-file:
[zert@REDACTED]:/tmp $>> grep 'erlang:exit' pa_megaco-eprof.log | awk
'{print $3, "%\t", $1}' | sort -nr | head -n 30
100 % erlang:exit/1
100 % erlang:exit/1
99 % erlang:exit/1
99 % erlang:exit/1
98 % erlang:exit/1
98 % erlang:exit/1
97 % erlang:exit/1
96 % erlang:exit/1
93 % erlang:exit/1
91 % erlang:exit/1
90 % erlang:exit/1
81 % erlang:exit/1
80 % erlang:exit/1
79 % erlang:exit/1
74 % erlang:exit/1
61 % erlang:exit/1
53 % erlang:exit/1
52 % erlang:exit/1
42 % erlang:exit/1
16 % erlang:exit/1
14 % erlang:exit/1
12 % erlang:exit/1
11 % erlang:exit/1
10 % erlang:exit/1
9 % erlang:exit/1
8 % erlang:exit/1
8 % erlang:exit/1
7 % erlang:exit/1
6 % erlang:exit/1
5 % erlang:exit/1
2010/1/5 Mazen Harake <mazen.harake@REDACTED>:
> Hi,
>
> I think what Jayson is trying to say is:
>
> How long is "total CPU time"? 1 microsecond or 10 hours or somewhere in
> between?
>
> R,
> /M
>
> On 05/01/2010 14:04, Maxim Treskin wrote:
>>
>> Yes. This process consumes 12% of total CPU time. erlang:exit/1
>> consumes 99% of 12% of total CPU time. Whole system contains several
>> such processes which eats CPU on exit.
>>
>> 2010/1/5 Jayson Vantuyl<kagato@REDACTED>:
>>
>>>
>>> What's the total time here? I see that erlang:exit/1 is 99% of that
>>> process's time, and that process is 12% of total time, but how long are we
>>> talking about here? I've seen results like that for short tests in a tight
>>> loop. So, it's 99% of 12% of what?
>>>
>>> On Jan 4, 2010, at 10:02 PM, Maxim Treskin wrote:
>>>
>>>
>>>>
>>>> Hello
>>>>
>>>> I have tested software with Eprof. eprof:analyse() prints log which
>>>> contains following strings:
>>>>
>>>> ****** Process<0.229.0> -- 12 % of profiled time ***
>>>> erlang:exit/1 1 99 %
>>>>
>>>> Erlang node whith this process really eats CPU time, so it is not a
>>>> some bug of eprof. May be it is due to garbage collection of process
>>>> data on exit? Increasing of min_heap_size up to value which really
>>>> used by process has no effect.
>>>>
>>>> How I can decrease CPU time consumption on exit for this process?
>>>>
>>>> Thank you
>>>>
>>>> --
>>>> Maxim Treskin
>>>>
>>>> ________________________________________________________________
>>>> erlang-questions mailing list. See http://www.erlang.org/faq.html
>>>> erlang-questions (at) erlang.org
>>>>
>>>>
>>>
>>>
>>
>>
>>
>
>
--
Maxim Treskin
More information about the erlang-questions
mailing list