From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751428AbbEYUwT (ORCPT ); Mon, 25 May 2015 16:52:19 -0400 Received: from mx1.redhat.com ([209.132.183.28]:48095 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751207AbbEYUwR (ORCPT ); Mon, 25 May 2015 16:52:17 -0400 From: Jiri Olsa To: Arnaldo Carvalho de Melo Cc: Michael Petlan , lkml , Peter Zijlstra , Paul Mackerras , David Ahern , Namhyung Kim , Ingo Molnar Subject: [PATCH] perf tools: Add hint for 'Too many events are opened.' error message Date: Mon, 25 May 2015 22:51:54 +0200 Message-Id: <1432587114-14924-1-git-send-email-jolsa@kernel.org> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Enhancing the 'Too many events are opened.' error message with hint to use use 'ulimit -n ' command. Before: $ perf record -e 'sched:*,syscalls:*' ls Error: Too many events are opened. Try again after reducing the number of events. Now: $ perf record -e 'sched:*,syscalls:*' ls Error: Too many events are opened. Probably the maximum number of open file descriptors has been reached. Hint: Try again after reducing the number of events. Hint: Try increasing the limit with 'ulimit -n ' Cc: Michael Petlan Link: http://lkml.kernel.org/n/tip-vfe0a2oxr4ga4ipl3nd90vk6@git.kernel.org Signed-off-by: Jiri Olsa --- tools/perf/util/evsel.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tools/perf/util/evsel.c b/tools/perf/util/evsel.c index c886b9f7a48d..a3e36fc634dc 100644 --- a/tools/perf/util/evsel.c +++ b/tools/perf/util/evsel.c @@ -2149,7 +2149,9 @@ int perf_evsel__open_strerror(struct perf_evsel *evsel, struct target *target, case EMFILE: return scnprintf(msg, size, "%s", "Too many events are opened.\n" - "Try again after reducing the number of events."); + "Probably the maximum number of open file descriptors has been reached.\n" + "Hint: Try again after reducing the number of events.\n" + "Hint: Try increasing the limit with 'ulimit -n '"); case ENODEV: if (target->cpu_list) return scnprintf(msg, size, "%s", -- 1.9.3