lxc / lxcfs

FUSE filesystem for LXC
https://linuxcontainers.org/lxcfs
Other
1.05k stars 250 forks source link

htop only show 1 cpu core in lxcfs 6.0.0 #634

Closed rydeng closed 7 months ago

rydeng commented 7 months ago

lxcfs 6.0.0 as follows:

image

but in lxcfs 5.0.4 as follows:

image

the pod has the same cpu limits, there are some new configs in 6.0.0?

rydeng commented 7 months ago

Sorry, I found maybe my build has some error, beacause when I build 5.0.4 tag code, there is also 1 core in pod. my build is as follows:

[root@simu-001 lxcfs]# meson setup -Dinit-script=systemd --prefix=/usr build/
The Meson build system
Version: 1.4.0
Source dir: /root/files_here/rydeng/lxcfs
Build dir: /root/files_here/rydeng/lxcfs/build
Build type: native build
Project name: lxcfs
Project version: 5.0.4
C compiler for the host machine: cc (gcc 11.3.1 "cc (GCC) 11.3.1 20221121 (Red Hat 11.3.1-4)")
C linker for the host machine: cc ld.bfd 2.35.2-37
Host machine cpu family: x86_64
Host machine cpu: x86_64
Program tools/meson-build.sh found: YES (/root/files_here/rydeng/lxcfs/tools/meson-build.sh)
Program tools/meson-render-jinja2.py found: YES (/root/files_here/rydeng/lxcfs/tools/meson-render-jinja2.py)
Compiler for C supports link arguments -Wl,--gc-sections: YES
Compiler for C supports link arguments -Wl,-z,relro: YES
Compiler for C supports link arguments -Wl,-z,now: YES
Compiler for C supports link arguments -Wl,-fuse-ld=gold: YES
Compiler for C supports arguments -Wvla: YES
Compiler for C supports arguments -Wimplicit-fallthrough=5: YES
Compiler for C supports arguments -Wcast-align: YES
Compiler for C supports arguments -Wstrict-prototypes: YES
Compiler for C supports arguments -fno-strict-aliasing: YES
Compiler for C supports arguments -fstack-clash-protection: YES
Compiler for C supports arguments -fstack-protector-strong: YES
Compiler for C supports arguments --param=ssp-buffer-size=4: YES
Compiler for C supports arguments --mcet -fcf-protection: NO
Compiler for C supports arguments -Werror=implicit-function-declaration: YES
Compiler for C supports arguments -Wlogical-op: YES
Compiler for C supports arguments -Wmissing-include-dirs: YES
Compiler for C supports arguments -Wold-style-definition: YES
Compiler for C supports arguments -Winit-self: YES
Compiler for C supports arguments -Wunused-but-set-variable: YES
Compiler for C supports arguments -Wno-unused-parameter: YES
Compiler for C supports arguments -Wfloat-equal: YES
Compiler for C supports arguments -Wsuggest-attribute=noreturn: YES
Compiler for C supports arguments -Werror=return-type: YES
Compiler for C supports arguments -Werror=incompatible-pointer-types: YES
Compiler for C supports arguments -Wformat=2: YES
Compiler for C supports arguments -Wshadow: YES
Compiler for C supports arguments -Wendif-labels: YES
Compiler for C supports arguments -Werror=overflow: YES
Compiler for C supports arguments -fdiagnostics-show-option: YES
Compiler for C supports arguments -Werror=shift-count-overflow: YES
Compiler for C supports arguments -Werror=shift-overflow=2: YES
Compiler for C supports arguments -Wdate-time: YES
Compiler for C supports arguments -Wnested-externs: YES
Compiler for C supports arguments -fasynchronous-unwind-tables: YES
Compiler for C supports arguments -fexceptions: YES
Compiler for C supports arguments -Warray-bounds: YES
Compiler for C supports arguments -Wrestrict: YES
Compiler for C supports arguments -Wreturn-local-addr: YES
Compiler for C supports arguments -fsanitize=cfi: NO
Compiler for C supports arguments -Wstringop-overflow: YES
Checking for function "strlcpy" : NO
Checking for function "strlcat" : NO
Checking for function "pidfd_send_signal" : NO
Checking for function "pidfd_open" : NO
Found pkg-config: YES (/usr/bin/pkg-config) 1.7.3
Run-time dependency fuse3 found: YES 3.10.2
Library dl found: YES
Run-time dependency threads found: YES
Configuring config.h using configuration
Program help2man found: YES (/usr/bin/help2man)
Run-time dependency systemd found: YES 252
Message: lxcfs 5.0.4
         FUSE version:          3.10.2
         bin directory:         /usr/bin
         lib directory:         /usr/lib64
         data directory:        /usr/share
         local state directory:     /var
         prefix directory:      /usr
         runtime directory:     /run
         sysconf directory:     /etc
         lxc conf directory:        /usr/share/lxc/config/common.conf.d
         lxcfs directory:       /usr/lib64/lxcfs
         lxcfs shared directory:    /usr/share/lxcfs
         lxcfs build root directory:    /root/files_here/rydeng/lxcfs/build
         lxcfs source root directory:   /root/files_here/rydeng/lxcfs
         init system(s):        ['systemd']
         tests:             false
         documentation:         true
Build targets in project: 20
NOTICE: Future-deprecated features used:
 * 0.56.0: {'dependency.get_pkgconfig_variable'}
 * 1.1.0: {'"boolean option" keyword argument "value" of type str'}

lxcfs 5.0.4

  User defined options
    prefix     : /usr
    init-script: systemd

Found ninja-1.10.2 at /usr/bin/ninja
[root@simu-001 lxcfs]# meson compile -C build/
INFO: autodetecting backend as ninja
INFO: calculating backend command to run: /usr/bin/ninja -C /root/files_here/rydeng/lxcfs/build
ninja: Entering directory `/root/files_here/rydeng/lxcfs/build'
[22/22] Generating lxcfs.1 with a custom command
[root@simu-001 lxcfs]# meson install -C build/
ninja: Entering directory `/root/files_here/rydeng/lxcfs/build'
ninja: no work to do.
Installing lxcfs to /usr/bin
Installing liblxcfs.so to /usr/lib64/lxcfs
Installing lxcfs.1 to /usr/share/man/man1
Installing config/init/lxcfs.service to /usr/lib/systemd/system
Installing share/00-lxcfs.conf to /usr/share/lxc/config/common.conf.d
Installing share/lxc.mount.hook to /usr/share/lxcfs
Installing share/lxc.reboot.hook to /usr/share/lxcfs

I do not know why my build lxcfs cannot correctly show the right core num in htop

rydeng commented 7 months ago

I know because my system has a fusermount3 with 3.10.2, but it use 2.9.9 fuse. I need to specify the fuse version to use version 2.