Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 320791
b: refs/heads/master
c: de34d96
h: refs/heads/master
i:
  320789: 5719dad
  320787: dd4ee3c
  320783: d8e34a3
v: v3
  • Loading branch information
David Rientjes authored and Linus Torvalds committed Aug 1, 2012
1 parent 275ec27 commit 7013e33
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 9 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 121d1ba0a019e1465a53533aea133b1b0f6b442d
refs/heads/master: de34d965a80d0f61a354bdefa0b15a88bcff2028
7 changes: 4 additions & 3 deletions trunk/Documentation/sysctl/vm.txt
Original file line number Diff line number Diff line change
Expand Up @@ -491,9 +491,10 @@ oom_dump_tasks

Enables a system-wide task dump (excluding kernel threads) to be
produced when the kernel performs an OOM-killing and includes such
information as pid, uid, tgid, vm size, rss, cpu, oom_adj score, and
name. This is helpful to determine why the OOM killer was invoked
and to identify the rogue task that caused it.
information as pid, uid, tgid, vm size, rss, nr_ptes, swapents,
oom_score_adj score, and name. This is helpful to determine why the
OOM killer was invoked, to identify the rogue task that caused it,
and to determine why the OOM killer chose the task it did to kill.

If this is set to zero, this information is suppressed. On very
large systems with thousands of tasks it may not be feasible to dump
Expand Down
11 changes: 6 additions & 5 deletions trunk/mm/oom_kill.c
Original file line number Diff line number Diff line change
Expand Up @@ -371,8 +371,8 @@ static struct task_struct *select_bad_process(unsigned int *ppoints,
* Dumps the current memory state of all eligible tasks. Tasks not in the same
* memcg, not in the same cpuset, or bound to a disjoint set of mempolicy nodes
* are not shown.
* State information includes task's pid, uid, tgid, vm size, rss, cpu, oom_adj
* value, oom_score_adj value, and name.
* State information includes task's pid, uid, tgid, vm size, rss, nr_ptes,
* swapents, oom_score_adj value, and name.
*
* Call with tasklist_lock read-locked.
*/
Expand All @@ -381,7 +381,7 @@ static void dump_tasks(const struct mem_cgroup *memcg, const nodemask_t *nodemas
struct task_struct *p;
struct task_struct *task;

pr_info("[ pid ] uid tgid total_vm rss cpu oom_adj oom_score_adj name\n");
pr_info("[ pid ] uid tgid total_vm rss nr_ptes swapents oom_score_adj name\n");
for_each_process(p) {
if (oom_unkillable_task(p, memcg, nodemask))
continue;
Expand All @@ -396,10 +396,11 @@ static void dump_tasks(const struct mem_cgroup *memcg, const nodemask_t *nodemas
continue;
}

pr_info("[%5d] %5d %5d %8lu %8lu %3u %3d %5d %s\n",
pr_info("[%5d] %5d %5d %8lu %8lu %7lu %8lu %5d %s\n",
task->pid, from_kuid(&init_user_ns, task_uid(task)),
task->tgid, task->mm->total_vm, get_mm_rss(task->mm),
task_cpu(task), task->signal->oom_adj,
task->mm->nr_ptes,
get_mm_counter(task->mm, MM_SWAPENTS),
task->signal->oom_score_adj, task->comm);
task_unlock(task);
}
Expand Down

0 comments on commit 7013e33

Please sign in to comment.