mirror of
https://github.com/troglobit/finit.git
synced 2026-10-25 12:04:36 +00:00
Refactor, factor out and export memsz() util function
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
This commit is contained in:
1 parent
5b8fe12502
commit
fcb8ec9967
3 files changed
+27
-21
No files matched your search
@@ -159,27 +159,6 @@ static uint64_t cgroup_memuse(struct cg *cg)
|
|||||||
return cg->cg_vmsize = cgroup_uint64(cg->cg_path, "memory.current");
|
return cg->cg_vmsize = cgroup_uint64(cg->cg_path, "memory.current");
|
||||||
}
|
}
|
||||||
|
|
||||||
static char *memsz(uint64_t sz, char *buf, size_t len)
|
|
||||||
{
|
|
||||||
int gb, mb, kb, b;
|
|
||||||
|
|
||||||
gb = sz / (1024 * 1024 * 1024);
|
|
||||||
sz = sz % (1024 * 1024 * 1024);
|
|
||||||
mb = sz / (1024 * 1024);
|
|
||||||
sz = sz % (1024 * 1024);
|
|
||||||
kb = sz / (1024);
|
|
||||||
b = sz % (1024);
|
|
||||||
|
|
||||||
if (gb)
|
|
||||||
snprintf(buf, len, "%d.%dG", gb, mb / 102);
|
|
||||||
else if (mb)
|
|
||||||
snprintf(buf, len, "%d.%dM", mb, kb / 102);
|
|
||||||
else
|
|
||||||
snprintf(buf, len, "%d.%dk", kb, b / 102);
|
|
||||||
|
|
||||||
return buf;
|
|
||||||
}
|
|
||||||
|
|
||||||
static float cgroup_cpuload(struct cg *cg)
|
static float cgroup_cpuload(struct cg *cg)
|
||||||
{
|
{
|
||||||
char fn[256];
|
char fn[256];
|
||||||
|
|||||||
+26
@@ -195,6 +195,32 @@ char *uptime(long secs, char *buf, size_t len)
|
|||||||
return buf;
|
return buf;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
char *memsz(uint64_t sz, char *buf, size_t len)
|
||||||
|
{
|
||||||
|
int gb, mb, kb, b;
|
||||||
|
|
||||||
|
if (!sz) {
|
||||||
|
strlcpy(buf, "-.-", len);
|
||||||
|
return buf;
|
||||||
|
}
|
||||||
|
|
||||||
|
gb = sz / (1024 * 1024 * 1024);
|
||||||
|
sz = sz % (1024 * 1024 * 1024);
|
||||||
|
mb = sz / (1024 * 1024);
|
||||||
|
sz = sz % (1024 * 1024);
|
||||||
|
kb = sz / (1024);
|
||||||
|
b = sz % (1024);
|
||||||
|
|
||||||
|
if (gb)
|
||||||
|
snprintf(buf, len, "%d.%dG", gb, mb / 102);
|
||||||
|
else if (mb)
|
||||||
|
snprintf(buf, len, "%d.%dM", mb, kb / 102);
|
||||||
|
else
|
||||||
|
snprintf(buf, len, "%d.%dk", kb, b / 102);
|
||||||
|
|
||||||
|
return buf;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Verify string argument is NUL terminated
|
* Verify string argument is NUL terminated
|
||||||
* Verify string is a JOB[:ID], JOB and ID
|
* Verify string is a JOB[:ID], JOB and ID
|
||||||
|
|||||||
@@ -55,6 +55,7 @@ void do_sleep (unsigned int sec);
|
|||||||
|
|
||||||
long jiffies (void);
|
long jiffies (void);
|
||||||
char *uptime (long secs, char *buf, size_t len);
|
char *uptime (long secs, char *buf, size_t len);
|
||||||
|
char *memsz (uint64_t sz, char *buf, size_t len);
|
||||||
|
|
||||||
char *sanitize (char *arg, size_t len);
|
char *sanitize (char *arg, size_t len);
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user