Display memory values < 1 MiB
Fixed the MB “typo” and show values for memory in KiB or B if needed. The threshold for displaying KiB (< 4 MiB) or B (< 9 KiB) are based on impulse.
This commit is contained in:
@@ -135,14 +135,35 @@ model_add_task (GtkTreeModel *model, Task *task)
|
|||||||
model_update_tree_iter (model, &iter, task);
|
model_update_tree_iter (model, &iter, task);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
memory_human_size (guint64 mem, gchar *mem_str)
|
||||||
|
{
|
||||||
|
guint64 mem_tmp;
|
||||||
|
|
||||||
|
mem_tmp = mem / 1024 / 1024;
|
||||||
|
if (mem_tmp > 3)
|
||||||
|
{
|
||||||
|
g_snprintf (mem_str, 64, _("%lu MiB"), mem_tmp);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
mem_tmp = mem / 1024;
|
||||||
|
if (mem_tmp > 8)
|
||||||
|
{
|
||||||
|
g_snprintf (mem_str, 64, _("%lu KiB"), mem_tmp);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
g_snprintf (mem_str, 64, _("%lu B"), mem);
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
model_update_tree_iter (GtkTreeModel *model, GtkTreeIter *iter, Task *task)
|
model_update_tree_iter (GtkTreeModel *model, GtkTreeIter *iter, Task *task)
|
||||||
{
|
{
|
||||||
gchar vsz[64], rss[64], cpu[16];
|
gchar vsz[64], rss[64], cpu[16];
|
||||||
|
|
||||||
// TODO show values < 1 MB in KB or B
|
memory_human_size (task->vsz, vsz);
|
||||||
g_snprintf (vsz, 64, _("%lu MB"), task->vsz / 1024 / 1024);
|
memory_human_size (task->rss, rss);
|
||||||
g_snprintf (rss, 64, _("%lu MB"), task->rss / 1024 / 1024);
|
|
||||||
// TODO make precision optional
|
// TODO make precision optional
|
||||||
g_snprintf (cpu, 16, _("%.2f%%"), task->cpu_user + task->cpu_system);
|
g_snprintf (cpu, 16, _("%.2f%%"), task->cpu_user + task->cpu_system);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user