[ 
https://issues.apache.org/jira/browse/MAPREDUCE-1221?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12858751#action_12858751
 ] 

Scott Chen commented on MAPREDUCE-1221:
---------------------------------------

I only did the following change on comments to address the comment made by 
Amareshwari.

{code}
 --- src/java/org/apache/hadoop/mapred/TaskMemoryManagerThread.java    
(revision 934199)
558,570c558
 @@ -332,8 +411,9 @@
      List<TaskAttemptID> tasksToExclude = new ArrayList<TaskAttemptID>();
      // Find tasks to kill so as to get memory usage under limits.
      while (memoryStillInUsage > maxMemoryAllowedForAllTasks) {
 -      // Exclude tasks that are already marked for
 -      // killing.
 +      // Exclude tasks that are already marked for killing.
 +      // Note that we do not need to call isKillable() here because the logic
 +      // is contained in taskTracker.findTaskToKill()
        TaskInProgress task = taskTracker.findTaskToKill(tasksToExclude);
        if (task == null) {
         break; // couldn't find any more tasks to kill.
{code}

> Kill tasks on a node if the free physical memory on that machine falls below 
> a configured threshold
> ---------------------------------------------------------------------------------------------------
>
>                 Key: MAPREDUCE-1221
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-1221
>             Project: Hadoop Map/Reduce
>          Issue Type: Improvement
>          Components: tasktracker
>    Affects Versions: 0.22.0
>            Reporter: dhruba borthakur
>            Assignee: Scott Chen
>             Fix For: 0.21.0
>
>         Attachments: MAPREDUCE-1221-v1.patch, MAPREDUCE-1221-v2.patch, 
> MAPREDUCE-1221-v3.patch, MAPREDUCE-1221-v4.patch, MAPREDUCE-1221-v5.1.txt, 
> MAPREDUCE-1221-v5.txt
>
>
> The TaskTracker currently supports killing tasks if the virtual memory of a 
> task exceeds a set of configured thresholds. I would like to extend this 
> feature to enable killing tasks if the physical memory used by that task 
> exceeds a certain threshold.
> On a certain operating system (guess?), if user space processes start using 
> lots of memory, the machine hangs and dies quickly. This means that we would 
> like to prevent map-reduce jobs from triggering this condition. From my 
> understanding, the killing-based-on-virtual-memory-limits (HADOOP-5883) were 
> designed to address this problem. This works well when most map-reduce jobs 
> are Java jobs and have well-defined -Xmx parameters that specify the max 
> virtual memory for each task. On the other hand, if each task forks off 
> mappers/reducers written in other languages (python/php, etc), the total 
> virtual memory usage of the process-subtree varies greatly. In these cases, 
> it is better to use kill-tasks-using-physical-memory-limits.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to