[ https://issues.apache.org/jira/browse/HADOOP-4780?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
he yongqiang reassigned HADOOP-4780: ------------------------------------ Assignee: he yongqiang > Task Tracker burns a lot of cpu in calling getLocalCache > --------------------------------------------------------- > > Key: HADOOP-4780 > URL: https://issues.apache.org/jira/browse/HADOOP-4780 > Project: Hadoop Core > Issue Type: Bug > Components: mapred > Affects Versions: 0.19.0 > Reporter: Runping Qi > Assignee: he yongqiang > Fix For: 0.19.1 > > Attachments: Hadoop-4780.patch > > > I noticed that many times, a task tracker max up to 6 cpus. > During that time, iostat shows majority of that was system cpu. > That situation can last for quite long. > During that time, I saw a number of threads were in the following state: > java.lang.Thread.State: RUNNABLE > at java.io.UnixFileSystem.getBooleanAttributes0(Native Method) > at > java.io.UnixFileSystem.getBooleanAttributes(UnixFileSystem.java:228) > at java.io.File.exists(File.java:733) > at org.apache.hadoop.fs.FileUtil.getDU(FileUtil.java:399) > at org.apache.hadoop.fs.FileUtil.getDU(FileUtil.java:407) > at org.apache.hadoop.fs.FileUtil.getDU(FileUtil.java:407) > at org.apache.hadoop.fs.FileUtil.getDU(FileUtil.java:407) > at org.apache.hadoop.fs.FileUtil.getDU(FileUtil.java:407) > at org.apache.hadoop.fs.FileUtil.getDU(FileUtil.java:407) > at org.apache.hadoop.fs.FileUtil.getDU(FileUtil.java:407) > at org.apache.hadoop.fs.FileUtil.getDU(FileUtil.java:407) > at org.apache.hadoop.fs.FileUtil.getDU(FileUtil.java:407) > at org.apache.hadoop.fs.FileUtil.getDU(FileUtil.java:407) > at org.apache.hadoop.fs.FileUtil.getDU(FileUtil.java:407) > at org.apache.hadoop.fs.FileUtil.getDU(FileUtil.java:407) > at org.apache.hadoop.fs.FileUtil.getDU(FileUtil.java:407) > at org.apache.hadoop.fs.FileUtil.getDU(FileUtil.java:407) > at > org.apache.hadoop.filecache.DistributedCache.getLocalCache(DistributedCache.java:176) > at org.apache.hadoop.mapred.TaskRunner.run(TaskRunner.java:140) > I suspect that getLocalCache is too expensive. > And calling it for every task initialization seems too much waste. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.