Я хочу видеть внутреннюю информацию ZSMALLOC в Ubuntu 16.04 (в amd64 kvm-qemu). Я попытался перекомпилировать ubuntu Kernel, добавив CONFIG_ZSMALLOC_STAT = y в файл .config.
Ниже я попытался:
$ mkdir linux.ubuntu-16.04
$ cd linux.ubuntu-16.04
apt-get source linux-image-$(uname -r)
$ make -j8
$ make install
Однако я не могу найти отладочную информацию ZSMALLOC. Я не могу найти каталог с именем zsmalloc внутри /sys/kernel/debug
Что делать, чтобы увидеть информацию об отладке zsmalloc?
Result of command :
#grep -irn CONFIG_ZSMALLOC_STAT *
[12:57:13] mac@mac-qemu:~/linux.ubuntu-16.04/linux-hwe-4.8.0 $ grep -irn CONFIG_ZSMALLOC_STAT *
arch/s390/configs/default_defconfig:73:CONFIG_ZSMALLOC_STAT=y
arch/s390/configs/gcov_defconfig:69:CONFIG_ZSMALLOC_STAT=y
arch/s390/configs/performance_defconfig:69:CONFIG_ZSMALLOC_STAT=y
arch/s390/defconfig:60:CONFIG_ZSMALLOC_STAT=y
debian/build/build-generic/.config:578:CONFIG_ZSMALLOC_STAT=y
debian/build/build-generic/.config.old:9395:CONFIG_ZSMALLOC_STAT=y
debian/tmp/boot/config-4.8.17:578:CONFIG_ZSMALLOC_STAT=y
debian/linux-image-4.8.0-54-hello-generic/boot/config-4.8.0-54-hello-generic:578:CONFIG_ZSMALLOC_STAT=y
debian/hdrtmp/usr/src/linux-headers-4.8.17/.config:578:CONFIG_ZSMALLOC_STAT=y
debian/linux-headers-4.8.0-54-hello-generic/usr/src/linux-headers-4.8.0-54-hello-generic/.config:578:CONFIG_ZSMALLOC_STAT=y
debian/linux-headers-4.8.0-54-hello-generic/usr/src/linux-headers-4.8.0-54-hello-generic/.config.old:578:CONFIG_ZSMALLOC_STAT=y
debian.hwe/config/annotations:9494:CONFIG_ZSMALLOC_STAT policy<{'amd64': 'y', 'arm64': 'n', 'armhf': 'n', 'i386': 'y', 'powerpc': 'n', 'ppc64el': 'n', 's390x': 'n'}>
debian.hwe/config/config.common.ubuntu:9396:CONFIG_ZSMALLOC_STAT=y
debian.master/config/annotations:9494:CONFIG_ZSMALLOC_STAT policy<{'amd64': 'y', 'arm64': 'n', 'armhf': 'n', 'i386': 'y', 'powerpc': 'n', 'ppc64el': 'n', 's390x': 'n'}>
debian.master/config/config.common.ubuntu:9396:CONFIG_ZSMALLOC_STAT=y
debian.master/info/OVERRIDES:4:CONFIG_ZSMALLOC_STAT=y
Documentation/vm/zsmalloc.txt:36:With CONFIG_ZSMALLOC_STAT, we could see zsmalloc internal information via
include/generated/autoconf.h:1142:#define CONFIG_ZSMALLOC_STAT 1
include/config/auto.conf:1140:CONFIG_ZSMALLOC_STAT=y
mm/zsmalloc.c:163:#ifdef CONFIG_ZSMALLOC_STAT
mm/zsmalloc.c:262:#ifdef CONFIG_ZSMALLOC_STAT
mm/zsmalloc.c:579:#ifdef CONFIG_ZSMALLOC_STAT
mm/zsmalloc.c:701:#else /* CONFIG_ZSMALLOC_STAT */
Вы редактируете конфиги в неправильном файле и неправильно создаете ядро. Ubuntu (на самом деле Debian) способ изменения конфигураций и сборки выглядит следующим образом:
Конфигурация должна быть установлена в debian.master/config/config.common.ubuntu
Она есть, но прокомментирована
# CONFIG_ZSMALLOC_STAT is not set
Измените его на
CONFIG_ZSMALLOC_STAT=y
Затем запустите
fakeroot debian/rules clean
fakeroot debian/rules binary-generic binary-headers
для компиляции.
Вместо последней команды вы можете использовать [!d6 ]
fakeroot debian/rules DEB_BUILD_OPTIONS=parallel=8 binary-headers binary-generic
, если вы хотите иметь 8 параллельных процессов (аналог -j8).
Другой (возможно, более обычный способ) - запустить
fakeroot debian/rules clean
fakeroot debian/rules editconfigs
Тогда выберите конфигурацию, которую хотите изменить, затем перейдите к
«Тип и функции процессора -> Распределитель памяти для сжатых страниц» и включите его там.
Вы редактируете конфиги в неправильном файле и неправильно создаете ядро. Ubuntu (на самом деле Debian) способ изменения конфигураций и сборки выглядит следующим образом:
Конфигурация должна быть установлена в debian.master/config/config.common.ubuntu
Она есть, но прокомментирована
# CONFIG_ZSMALLOC_STAT is not set
Измените его на
CONFIG_ZSMALLOC_STAT=y
Затем запустите
fakeroot debian/rules clean
fakeroot debian/rules binary-generic binary-headers
для компиляции.
Вместо последней команды вы можете использовать
fakeroot debian/rules DEB_BUILD_OPTIONS=parallel=8 binary-headers binary-generic
, если вы хотите иметь 8 параллельных процессов (аналог -j8).
Другой (возможно, более обычный способ) - запустить
fakeroot debian/rules clean
fakeroot debian/rules editconfigs
Тогда выберите конфигурацию, которую хотите изменить, затем перейдите к
«Тип и функции процессора -> Распределитель памяти для сжатых страниц» и включите его там.
Вы редактируете конфиги в неправильном файле и неправильно создаете ядро. Ubuntu (на самом деле Debian) способ изменения конфигураций и сборки выглядит следующим образом:
Конфигурация должна быть установлена в debian.master/config/config.common.ubuntu
Она есть, но прокомментирована
# CONFIG_ZSMALLOC_STAT is not set
Измените его на
CONFIG_ZSMALLOC_STAT=y
Затем запустите
fakeroot debian/rules clean
fakeroot debian/rules binary-generic binary-headers
для компиляции.
Вместо последней команды вы можете использовать
fakeroot debian/rules DEB_BUILD_OPTIONS=parallel=8 binary-headers binary-generic
, если вы хотите иметь 8 параллельных процессов (аналог -j8).
Другой (возможно, более обычный способ) - запустить
fakeroot debian/rules clean
fakeroot debian/rules editconfigs
Тогда выберите конфигурацию, которую хотите изменить, затем перейдите к
«Тип и функции процессора -> Распределитель памяти для сжатых страниц» и включите его там.