On 2/19/19 8:30 PM, Bujnak, Stepan wrote: > On Wed, Feb 20, 2019 at 5:10 AM Randy Dunlap <rdunlap@xxxxxxxxxxxxx> wrote: >> >> Hi, >> >> Spell it out correctly (2 places): > This is not a typo. It actually refers to the oom_dump_tasks option, > in a sense that when that option is enabled, > this option (oom_dump_task_cmdline) additionally displays task > cmdline instead of task name. >> OK, thanks for clarifying. >> >> On 2/19/19 7:22 PM, Stepan Bujnak wrote: >>> When oom_dump_tasks is enabled, this option will try to display task >> >> When oom_dump_task_cmdline is enabled, >> >>> cmdline instead of the command name in the system-wide task dump. >>> >>> This is useful in some cases e.g. on postgres server. If OOM killer is >>> invoked it will show a bunch of tasks called 'postgres'. With this >>> option enabled it will show additional information like the database >>> user, database name and what it is currently doing. >>> >>> Other example is python. Instead of just 'python' it will also show the >>> script name currently being executed. >>> >>> Signed-off-by: Stepan Bujnak <stepan@xxxxxxx> >>> --- >>> Documentation/sysctl/vm.txt | 10 ++++++++++ >>> include/linux/oom.h | 1 + >>> kernel/sysctl.c | 7 +++++++ >>> mm/oom_kill.c | 20 ++++++++++++++++++-- >>> 4 files changed, 36 insertions(+), 2 deletions(-) >>> >>> diff --git a/Documentation/sysctl/vm.txt b/Documentation/sysctl/vm.txt >>> index 187ce4f599a2..74278c8c30d2 100644 >>> --- a/Documentation/sysctl/vm.txt >>> +++ b/Documentation/sysctl/vm.txt >>> @@ -50,6 +50,7 @@ Currently, these files are in /proc/sys/vm: >>> - nr_trim_pages (only if CONFIG_MMU=n) >>> - numa_zonelist_order >>> - oom_dump_tasks >>> +- oom_dump_task_cmdline >>> - oom_kill_allocating_task >>> - overcommit_kbytes >>> - overcommit_memory >>> @@ -639,6 +640,15 @@ The default value is 1 (enabled). >>> >>> ============================================================== >>> >>> +oom_dump_task_cmdline >>> + >>> +When oom_dump_tasks is enabled, this option will try to display task cmdline >> >> When oom_dump_task_cmdline is enabled, >> >>> +instead of the command name in the system-wide task dump. >>> + >>> +The default value is 0 (disabled). >>> + >>> +============================================================== >>> + >>> oom_kill_allocating_task >>> >>> This enables or disables killing the OOM-triggering task in >>> diff --git a/include/linux/oom.h b/include/linux/oom.h >>> index d07992009265..461b15b3b695 100644 >>> --- a/include/linux/oom.h >>> +++ b/include/linux/oom.h >>> @@ -125,6 +125,7 @@ extern struct task_struct *find_lock_task_mm(struct task_struct *p); >>> >>> /* sysctls */ >>> extern int sysctl_oom_dump_tasks; >>> +extern int sysctl_oom_dump_task_cmdline; >>> extern int sysctl_oom_kill_allocating_task; >>> extern int sysctl_panic_on_oom; >>> #endif /* _INCLUDE_LINUX_OOM_H */ >>> diff --git a/kernel/sysctl.c b/kernel/sysctl.c >>> index ba4d9e85feb8..4edc5f8e6cf9 100644 >>> --- a/kernel/sysctl.c >>> +++ b/kernel/sysctl.c >>> @@ -1288,6 +1288,13 @@ static struct ctl_table vm_table[] = { >>> .mode = 0644, >>> .proc_handler = proc_dointvec, >>> }, >>> + { >>> + .procname = "oom_dump_task_cmdline", >>> + .data = &sysctl_oom_dump_task_cmdline, >>> + .maxlen = sizeof(sysctl_oom_dump_task_cmdline), >>> + .mode = 0644, >>> + .proc_handler = proc_dointvec, >>> + }, >>> { >>> .procname = "overcommit_ratio", >>> .data = &sysctl_overcommit_ratio, >> >> >> thanks. >> -- >> ~Randy -- ~Randy