From: Davidlohr Bueso <dave@gnu.org>
To: Karel Zak <kzak@redhat.com>
Cc: util-linux <util-linux@vger.kernel.org>
Subject: [PATCH] prlimit: add a units column
Date: Mon, 24 Oct 2011 12:30:58 +0200 [thread overview]
Message-ID: <1319452258.2170.7.camel@offworld> (raw)
From: Davidlohr Bueso <dave@gnu.org>
Signed-off-by: Davidlohr Bueso <dave@gnu.org>
---
sys-utils/prlimit.c | 40 ++++++++++++++++++++++++----------------
1 files changed, 24 insertions(+), 16 deletions(-)
diff --git a/sys-utils/prlimit.c b/sys-utils/prlimit.c
index 74c7fc9..49f8f6e 100644
--- a/sys-utils/prlimit.c
+++ b/sys-utils/prlimit.c
@@ -55,27 +55,28 @@ enum {
struct prlimit_desc {
const char *name;
const char *help;
+ const char *unit;
int resource;
};
static struct prlimit_desc prlimit_desc[] =
{
- [AS] = { "AS", N_("address space limit"), RLIMIT_AS },
- [CORE] = { "CORE", N_("max core file size"), RLIMIT_CORE },
- [CPU] = { "CPU", N_("CPU time in secs"), RLIMIT_CPU },
- [DATA] = { "DATA", N_("max data size"), RLIMIT_DATA },
- [FSIZE] = { "FSIZE", N_("max file size"), RLIMIT_FSIZE },
- [LOCKS] = { "LOCKS", N_("max amount of file locks held"), RLIMIT_LOCKS },
- [MEMLOCK] = { "MEMLOCK", N_("max locked-in-memory address space"), RLIMIT_MEMLOCK },
- [MSGQUEUE] = { "MSGQUEUE", N_("max bytes in POSIX mqueues"), RLIMIT_MSGQUEUE },
- [NICE] = { "NICE", N_("max nice prio allowed to raise"), RLIMIT_NICE },
- [NOFILE] = { "NOFILE", N_("max amount of open files"), RLIMIT_NOFILE },
- [NPROC] = { "NPROC", N_("max number of processes"), RLIMIT_NPROC },
- [RSS] = { "RSS", N_("max resident set size"), RLIMIT_RSS },
- [RTPRIO] = { "RTPRIO", N_("max real-time priority"), RLIMIT_RTPRIO },
- [RTTIME] = { "RTTIME", N_("timeout for real-time tasks"), RLIMIT_RTTIME },
- [SIGPENDING] = { "SIGPENDING", N_("max amount of pending signals"), RLIMIT_SIGPENDING },
- [STACK] = { "STACK", N_("max stack size"), RLIMIT_STACK }
+ [AS] = { "AS", N_("address space limit"), "bytes", RLIMIT_AS },
+ [CORE] = { "CORE", N_("max core file size"), "blocks", RLIMIT_CORE },
+ [CPU] = { "CPU", N_("CPU time"), "seconds", RLIMIT_CPU },
+ [DATA] = { "DATA", N_("max data size"), "bytes", RLIMIT_DATA },
+ [FSIZE] = { "FSIZE", N_("max file size"), "blocks", RLIMIT_FSIZE },
+ [LOCKS] = { "LOCKS", N_("max amount of file locks held"), NULL, RLIMIT_LOCKS },
+ [MEMLOCK] = { "MEMLOCK", N_("max locked-in-memory address space"), "kbytes", RLIMIT_MEMLOCK },
+ [MSGQUEUE] = { "MSGQUEUE", N_("max bytes in POSIX mqueues"), "bytes", RLIMIT_MSGQUEUE },
+ [NICE] = { "NICE", N_("max nice prio allowed to raise"), NULL, RLIMIT_NICE },
+ [NOFILE] = { "NOFILE", N_("max amount of open files"), NULL, RLIMIT_NOFILE },
+ [NPROC] = { "NPROC", N_("max number of processes"), NULL, RLIMIT_NPROC },
+ [RSS] = { "RSS", N_("max resident set size"), "pages", RLIMIT_RSS },
+ [RTPRIO] = { "RTPRIO", N_("max real-time priority"), NULL, RLIMIT_RTPRIO },
+ [RTTIME] = { "RTTIME", N_("timeout for real-time tasks"), "microsecs", RLIMIT_RTTIME },
+ [SIGPENDING] = { "SIGPENDING", N_("max amount of pending signals"), NULL, RLIMIT_SIGPENDING },
+ [STACK] = { "STACK", N_("max stack size"), "kbytes", RLIMIT_STACK }
};
struct prlimit {
@@ -91,6 +92,7 @@ enum {
COL_RES,
COL_SOFT,
COL_HARD,
+ COL_UNITS,
};
/* column names */
@@ -107,6 +109,7 @@ struct colinfo infos[] = {
[COL_HELP] = { "DESCRIPTION", 0.1, TT_FL_TRUNC, N_("resource description")},
[COL_SOFT] = { "SOFT", 0.1, TT_FL_RIGHT, N_("soft limit")},
[COL_HARD] = { "HARD", 1, TT_FL_RIGHT, N_("hard limit (ceiling)")},
+ [COL_UNITS] = { "UNITS", 0.1, TT_FL_TRUNC, N_("units")},
};
#define NCOLS ARRAY_SIZE(infos)
@@ -217,6 +220,10 @@ static void add_tt_line(struct tt *tt, struct prlimit *l)
asprintf(&str, "%s", "unlimited") :
asprintf(&str, "%llu", (unsigned long long) l->rlim.rlim_max);
break;
+ case COL_UNITS:
+ rc = l->desc->unit ? asprintf(&str, "%s", l->desc->unit) :
+ asprintf(&str, "------");
+ break;
default:
break;
}
@@ -557,6 +564,7 @@ int main(int argc, char **argv)
columns[ncolumns++] = COL_HELP;
columns[ncolumns++] = COL_SOFT;
columns[ncolumns++] = COL_HARD;
+ columns[ncolumns++] = COL_UNITS;
}
if (!n) {
--
1.7.7
next reply other threads:[~2011-10-24 10:30 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-10-24 10:30 Davidlohr Bueso [this message]
2011-10-26 21:25 ` [PATCH] prlimit: add a units column Karel Zak
2011-11-02 17:40 ` Davidlohr Bueso
2011-11-07 8:58 ` Karel Zak
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1319452258.2170.7.camel@offworld \
--to=dave@gnu.org \
--cc=kzak@redhat.com \
--cc=util-linux@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).