hadoop-common-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "dhruba borthakur (JIRA)" <j...@apache.org>
Subject [jira] Created: (HADOOP-885) Reduce CPU usage on namenode: gettimeofday
Date Thu, 11 Jan 2007 18:18:27 GMT
Reduce CPU usage on namenode: gettimeofday
------------------------------------------

                 Key: HADOOP-885
                 URL: https://issues.apache.org/jira/browse/HADOOP-885
             Project: Hadoop
          Issue Type: Bug
          Components: dfs
    Affects Versions: 0.10.1
            Reporter: dhruba borthakur
         Assigned To: dhruba borthakur


On a 900 node idle cluster, the namenode spends about  20% of CPU. Most of this CPU is spent
processing pure heartbeats. No jobs are running on this cluster and all nodes are alive and
acting well.

Of the total namenode CPU usage, about 12% is in usermode and about 70% is in kernel mode!
The question that natually arises is why is heartbeat processing taking so much time in kernel
mode?

An strace of namenode reveals that a 20 second period has about 52000 syscalls with the following
breakup:

gettimeofday  :       18000 calls
accept             :          2655 calls
close               :          2655 calls
shutdown       :          2655 calls
fcntl                  :          7965 calls
read                 :          7965 calls
futex                 :          5295 calls
poll                   :          4894 calls

A code inspection reveals that the code is doing multiple (about 5) calls to System.currentTimeMillis()
in processing a single request in the RPC.java and Server.java classes. This might mean that
there is a possibility of optimization.





-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message