Em Wed, Sep 02, 2015 at 02:24:56PM -0500, Guy Streeter escreveu:
I've been looking at the current "process view" frame
in tuna. Can someone
explain to me what the value of the "cgroups" column is?
I admit I don't understand cgroups very well, but the displayed
information
doesn't seem useful. Is there something more or different we could display
there?
Yeah, I think someone involved with cgroups could try to make that more
compact somehow, but indeed, I find that column not that useful.
What would an administrator do with the current cgroups information?
Should
we consider adding cgroups configuration/administration to tuna, or is there
already a GUI for that?
I am not sure about that, i.e. about any adminstrative tool for that.
What I think would be useful would be for the _command line_ to be able
to, in addition to --socket, --cpu, --thread, --irq to also have support
for --cgroup.
In the GUI, I think cgroups, at least the cpuset part, could be thought
of as a "soft CPU socket", i.e. one that is not "written in stone",
but
in the kernel cgroup filesystem, i.e. for each cgroup we would have some
box, showing which CPUs are in it, and also if one selected one of these
boxes, then the thread view would show just the ones in that box (CPU
socket, CPU core, cgroup).
And when we select some cgroup, then automagically that cgroups column
in the thread view (if we keep it in some fashion) would disappear, i.e.
no sense in showing something that has just one value.
Try 'perf top' press 'f' to freeze the events, then press enter to Zoom
into a DSO and see how it elides the "Shared Object" column, since now
all will have the same value:
# perf top # Wait a bit till things get interesting, press 'f' to freeze
Samples: 41K of event 'cycles', Event count (approx.): 13344188516
Overhead Shared Object Symbol
2.29% libc-2.20.so [.] _int_malloc
1.61% [kernel] [k] page_fault
1.47% [kernel] [k] get_vmalloc_info
1.16% [kernel] [k] clear_page_c_e
1.13% cc1 [.] rtx_cost
1.10% [kernel] [k] unmap_single_vma
1.02% cc1 [.] ira_init_register_move_cost
0.95% cc1 [.] ira_init
<SNIP>
# press enter + Zoom into the libc-2.20.so DSO:
Samples: 41K of event 'cycles', Event count (approx.): 13344188516, DSO:
libc-2.20.so
Overhead Symbol
2.29% [.] _int_malloc
0.89% [.] free
0.74% [.] __memset_sse2
0.68% [.] __GI___strcmp_ssse3
0.60% [.] malloc
0.53% [.] __GI___strncmp_ssse3
0.45% [.] _dl_addr
0.36% [.] malloc_consolidate
0.31% [.] __libc_calloc
0.30% [.] strlen
0.28% [.] getenv
0.27% [.] __memcpy_avx_unaligned
0.26% [.] vfprintf
But I haven't been following how all this plays with systemd, that makes
heavy use of cgroups, etc. Would this be done directly via looking at
the cgroups FS? Or would we use something else, like some dbus systemd
service that would enumerate/create/delete/other-operations cgroups, etc?
- Arnaldo