I'm running a Mojolicious UI in daemon mode on a PowerPC embedded system 
(running Wind River Linux, perl 5.22.0, kernel 4.1.21) and notice 
surprisingly high CPU usage on a totally idle UI.

I can see that there are two processes. Each process is in a polling loop 
with 10ms timeout. I don't expect to see two processes here, so I wonder 
whether this is normal or abnormal behaviour. If it is normal behaviour, 
can I tune down the 10ms timeout to something longer? I would like to see 
the process block until there is actual work to do.

root@10:/service# ps fax | grep index.daemon-5
 1418 pts/1    S+     0:00      \_ grep index.daemon
19303 ?        Ssl   24:24 /etc/e-smith/web/functions/index.daemon.cgi
24397 ?        Ssl   20:54  \_ /etc/e-smith/web/functions/index.daemon.cgi
root@10:/service# strace -p19303 -tt 2>&1 | head -5
Process 19303 attached
17:05:08.095154 restart_syscall(<... resuming interrupted call ...>) = 0
17:05:08.104465 poll([{fd=21, events=POLLIN|POLLPRI|POLLOUT}], 1, 9) = 0 
(Timeout)
17:05:08.116478 poll([{fd=21, events=POLLIN|POLLPRI|POLLOUT}], 1, 10) = 0 
(Timeout)
17:05:08.130120 poll([{fd=21, events=POLLIN|POLLPRI|POLLOUT}], 1, 9) = 0 
(Timeout)
root@10:/service# strace -p24397 -tt 2>&1 | head -5
Process 24397 attached
17:05:12.888643 restart_syscall(<... resuming interrupted call ...>) = 0
17:05:12.894814 poll([{fd=21, events=POLLIN|POLLPRI|POLLOUT}], 1, 10) = 0 
(Timeout)
17:05:12.908082 poll([{fd=21, events=POLLIN|POLLPRI|POLLOUT}], 1, 10) = 0 
(Timeout)
17:05:12.920771 poll([{fd=21, events=POLLIN|POLLPRI|POLLOUT}], 1, 10) = 0 
(Timeout)
root@10:/service# top | head -12
top - 17:09:31 up 9 days,  7:59,  4 users,  load average: 0.73, 0.59, 0.60
Tasks:  98 total,   1 running,  95 sleeping,   0 stopped,   2 zombie
%Cpu(s): 12.9 us,  5.7 sy,  3.8 ni, 75.7 id,  1.8 wa,  0.0 hi,  0.1 si,  
0.0 st
KiB Mem :   995536 total,     5428 free,   317100 used,   673008 
buff/cache
KiB Swap:    65532 total,    65448 free,       84 used.   594360 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND      
            
 1440 root      20   0    3852   2280   1924 R 24.0  0.2   0:00.13 top          
            
  508 root      20   0  134908  69156  13896 S 12.0  6.9 465:50.05 
call_control             
19303 root      20   0   87812  37720   4148 S  8.0  3.8  24:45.37 
/etc/e-smith/we          
24397 root      20   0   87788  37184   3552 S  8.0  3.7  21:13.65 
/etc/e-smith/we          
  425 root      20   0   16068  10284   3640 S  4.0  1.0  33:32.22 snmpd        
            

Reply via email to