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