mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2025-08-05 21:37:15 +02:00
main/lxc: more fixes for lxc-top
- add kernel mem stat - fix typo in IO error message - fix -b to ignore TTY rows
This commit is contained in:
parent
6a3067bc1e
commit
22f419b54b
@ -4,7 +4,7 @@
|
||||
pkgname=lxc
|
||||
pkgver=6.0.1
|
||||
_pkgver=${pkgver/_rc/.rc}
|
||||
pkgrel=6
|
||||
pkgrel=7
|
||||
pkgdesc="Userspace interface for the Linux kernel containment features"
|
||||
url="https://linuxcontainers.org/lxc/"
|
||||
arch="all"
|
||||
@ -177,7 +177,7 @@ _user_nic() {
|
||||
|
||||
sha512sums="
|
||||
7e8b9740178ae46a2ad3ba3f1e509f69f978d0a2a1f7e1938213ae9cb9a80f496d01be64958cad4aa6f01a73f1d8c3759c3e9df9df4f67c77e603ea0809d79c2 lxc-6.0.1.tar.gz
|
||||
3619a16604683d5cfa4b9d997cb8435232c016b71d0d7be2a0553d8136fa1914f916ef89d7092d3f51ff2e56714c918fef4e4e42bab89054fc92aec617228bec lxc-top-cgroupv2.patch
|
||||
d24a1226f37f575de5d85a850d74fa5a59623e1ec9fc8be30bacf1c874426213be3b6c4aa70a35d7df93fb2a95a573290768b92d0256c09d91fc629c8dc930e8 lxc-top-cgroupv2.patch
|
||||
43299891779b0c8737b811e16d356e211d797d003af85d97ab969b3d47212e6c33ff5fbd36579534be9e84a2caa3cca8fd39f11a37cc54ec3e2344423e348499 lxc-info-cgroups-v2.patch
|
||||
db71783366277a68a5c8116604cf845da4780fe4aebdb5820ae2c4fe028cfe52a9c94246db362476f2f195be6a9c2b835edbe521423f116fc66eb50023d6daab lxc.initd
|
||||
91de43db5369a9e10102933514d674e9c875218a1ff2910dd882e5b9c308f9e430deacb13d1d7e0b2ed1ef682d0bb035aa6f8a6738f54fa2ca3a05acce04e467 lxc.confd
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 40857b9de3714b3314f5c22e924d5993c458acbe Mon Sep 17 00:00:00 2001
|
||||
From: Natanael Copa <ncopa@alpinelinux.org>
|
||||
Date: Wed, 24 Jul 2024 15:23:11 +0200
|
||||
Subject: [PATCH 1/5] tools: lxc-top: refactor lxc-top stat structs
|
||||
Subject: [PATCH 1/7] tools: lxc-top: refactor lxc-top stat structs
|
||||
|
||||
Create separate structs for each controller class. This will make it
|
||||
easier to add cgroupv2 support.
|
||||
@ -247,7 +247,7 @@ index aa6e7209e..bcc695b3e 100644
|
||||
From ec11c2dad1ccf5fd6dd9a57e2812c4551f8a710f Mon Sep 17 00:00:00 2001
|
||||
From: Natanael Copa <ncopa@alpinelinux.org>
|
||||
Date: Wed, 24 Jul 2024 15:47:55 +0200
|
||||
Subject: [PATCH 2/5] tools: lxc-top: get memory stats from cgroups2
|
||||
Subject: [PATCH 2/7] tools: lxc-top: get memory stats from cgroups2
|
||||
|
||||
Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
|
||||
---
|
||||
@ -316,7 +316,7 @@ index bcc695b3e..29d81563f 100644
|
||||
From df219e84ca11294ba29ff9e85d09f4190942b30c Mon Sep 17 00:00:00 2001
|
||||
From: Natanael Copa <ncopa@alpinelinux.org>
|
||||
Date: Wed, 24 Jul 2024 16:32:30 +0200
|
||||
Subject: [PATCH 3/5] lxc-top: CPU stats for cgroups2
|
||||
Subject: [PATCH 3/7] lxc-top: CPU stats for cgroups2
|
||||
|
||||
Recalculate the usec to nanoseconds and USER_HZ
|
||||
|
||||
@ -382,7 +382,7 @@ index 29d81563f..3a6c49e82 100644
|
||||
From 094f05141db5968f8e3a855e4230579b12721a65 Mon Sep 17 00:00:00 2001
|
||||
From: Natanael Copa <ncopa@alpinelinux.org>
|
||||
Date: Wed, 24 Jul 2024 16:54:00 +0200
|
||||
Subject: [PATCH 4/5] tools: lxc-top: get the user HZ at runtime
|
||||
Subject: [PATCH 4/7] tools: lxc-top: get the user HZ at runtime
|
||||
|
||||
The USER_HZ depends on the kernel configuration. Get it run-time instead
|
||||
of assume it is 100 HZ.
|
||||
@ -450,10 +450,10 @@ index 3a6c49e82..deea1b41d 100644
|
||||
2.45.2
|
||||
|
||||
|
||||
From cf8f1e067f9be356f9879566ddfa31333929af22 Mon Sep 17 00:00:00 2001
|
||||
From ebf0bbb3585330bf80bdd01aa7597672cca07aba Mon Sep 17 00:00:00 2001
|
||||
From: Natanael Copa <ncopa@alpinelinux.org>
|
||||
Date: Wed, 24 Jul 2024 17:29:10 +0200
|
||||
Subject: [PATCH 5/5] tools: lxc-top: add cgroups2 IO stats
|
||||
Subject: [PATCH 5/7] tools: lxc-top: add cgroups2 IO stats
|
||||
|
||||
Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
|
||||
---
|
||||
@ -461,7 +461,7 @@ Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
|
||||
1 file changed, 53 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/src/lxc/tools/lxc_top.c b/src/lxc/tools/lxc_top.c
|
||||
index deea1b41d..6cc54988d 100644
|
||||
index deea1b41d..15cf75a9a 100644
|
||||
--- a/src/lxc/tools/lxc_top.c
|
||||
+++ b/src/lxc/tools/lxc_top.c
|
||||
@@ -281,21 +281,21 @@ examples:
|
||||
@ -506,7 +506,7 @@ index deea1b41d..6cc54988d 100644
|
||||
+ int i, j, len;
|
||||
+ char **lines, **cols;
|
||||
+ int ret = -1;
|
||||
+
|
||||
|
||||
+ len = c->get_cgroup_item(c, item, buf, sizeof(buf));
|
||||
+ if (len <= 0 || (size_t)len >= sizeof(buf)) {
|
||||
+ return ret;
|
||||
@ -522,7 +522,7 @@ index deea1b41d..6cc54988d 100644
|
||||
+ cols = lxc_string_split_and_trim(lines[i], ' ');
|
||||
+ if (!cols)
|
||||
+ goto out;
|
||||
|
||||
+
|
||||
+ for (j = 0; cols[j]; j++) {
|
||||
+ if (strncmp(cols[j], "rbytes=", 7) == 0) {
|
||||
+ stats->read += strtoull(&cols[j][7], NULL, 0);
|
||||
@ -550,7 +550,7 @@ index deea1b41d..6cc54988d 100644
|
||||
- stat_get_blk_stats(c, "blkio.throttle.io_serviced", &ct->stats->io_serviced);
|
||||
+ if (cg1_get_blk_stats(c, "blkio.throttle.io_service_bytes", &ct->stats->io_service_bytes) < 0) {
|
||||
+ if (cg2_get_blk_stats(c, "io.stat", &ct->stats->io_service_bytes) < 0) {
|
||||
+ fprintf(stderr, "Unable to read CPU stats\n");
|
||||
+ fprintf(stderr, "Unable to read IO stats\n");
|
||||
+ }
|
||||
+ } else {
|
||||
+ /* only with cgroups v1 */
|
||||
@ -562,3 +562,69 @@ index deea1b41d..6cc54988d 100644
|
||||
--
|
||||
2.45.2
|
||||
|
||||
|
||||
From 54e8ff395303f0d121cdb603a0ea5c01dd134dc3 Mon Sep 17 00:00:00 2001
|
||||
From: Devon Schwartz <devon.s.schwartz@gmail.com>
|
||||
Date: Wed, 24 Jul 2024 22:17:32 -0500
|
||||
Subject: [PATCH 6/7] lxc-top: added kernel memory usage for cgroup2
|
||||
|
||||
---
|
||||
src/lxc/tools/lxc_top.c | 13 ++++++-------
|
||||
1 file changed, 6 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/src/lxc/tools/lxc_top.c b/src/lxc/tools/lxc_top.c
|
||||
index 15cf75a9a..6cb38bb90 100644
|
||||
--- a/src/lxc/tools/lxc_top.c
|
||||
+++ b/src/lxc/tools/lxc_top.c
|
||||
@@ -373,14 +373,13 @@ static int cg1_mem_stats(struct lxc_container *c, struct mem_stats *mem)
|
||||
|
||||
static int cg2_mem_stats(struct lxc_container *c, struct mem_stats *mem)
|
||||
{
|
||||
- mem->used = stat_get_int(c, "memory.current");
|
||||
- mem->limit = stat_get_int(c, "memory.max");
|
||||
- mem->swap_used = stat_get_int(c, "memory.swap.current");
|
||||
- mem->swap_limit = stat_get_int(c, "memory.swap.max");
|
||||
- /* TODO: find the kernel usage */
|
||||
- mem->kmem_used = 0;
|
||||
+ mem->used = stat_get_int(c, "memory.current");
|
||||
+ mem->limit = stat_get_int(c, "memory.max");
|
||||
+ mem->swap_used = stat_get_int(c, "memory.swap.current");
|
||||
+ mem->swap_limit = stat_get_int(c, "memory.swap.max");
|
||||
+ mem->kmem_used = stat_match_get_int(c, "memory.stat", "kernel", 1);
|
||||
/* does not exist in cgroup v2 */
|
||||
- mem->kmem_limit = 0;
|
||||
+ // mem->kmem_limit = 0;
|
||||
return mem->used > 0 ? 0 : -1;
|
||||
}
|
||||
|
||||
--
|
||||
2.45.2
|
||||
|
||||
|
||||
From 9a7c15337202a00ae7d0a87906b3529f3ab9b84b Mon Sep 17 00:00:00 2001
|
||||
From: Natanael Copa <ncopa@alpinelinux.org>
|
||||
Date: Thu, 25 Jul 2024 13:52:27 +0200
|
||||
Subject: [PATCH 7/7] tools: lxc-top: fix print in batch mode
|
||||
|
||||
We should not care about the number of rows when printing stats in batch
|
||||
mode.
|
||||
---
|
||||
src/lxc/tools/lxc_top.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/lxc/tools/lxc_top.c b/src/lxc/tools/lxc_top.c
|
||||
index 6cb38bb90..7498331ee 100644
|
||||
--- a/src/lxc/tools/lxc_top.c
|
||||
+++ b/src/lxc/tools/lxc_top.c
|
||||
@@ -732,7 +732,7 @@ int lxc_top_main(int argc, char *argv[])
|
||||
stats_print_header(&total);
|
||||
}
|
||||
|
||||
- for (i = 0; i < active_cnt && i < ct_print_cnt; i++) {
|
||||
+ for (i = 0; i < active_cnt && (i < ct_print_cnt || batch); i++) {
|
||||
stats_print(container_stats[i].c->name, container_stats[i].stats, &total);
|
||||
printf("\n");
|
||||
}
|
||||
--
|
||||
2.45.2
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user