9 corelens
コマンド・リファレンス
この表は、corelens
コマンドに関する情報を示しています。
アクション | コマンド | 説明 |
---|---|---|
実行中のカーネルまたは |
sudo corelens path/to/dumpfile
|
実行中のライブ・カーネルまたは生成されたクラッシュ・ダンプをデバッグするための情報を提供します。 |
corelensモジュールを実行して、実行中のカーネルまたは |
sudo corelens path/to/dumpfile -M module
|
モジュールでフィルタされた実行中のカーネルまたは生成されたクラッシュ・ダンプをデバッグするための情報を提供します。 |
指定できるモジュールのリストを確認します。 |
corelens -L
|
|
|
sudo corelens path/to/dumpfile -a -o report
|
|
|
corelens -h
|
|
たとえば、ライブ・カーネルの/proc/kcore
をデバッグするには、次のコマンドを実行します:
sudo corelens /proc/kcore
vmcore
クラッシュ・ダンプ・ファイルに対して同じ操作を実行するには:
sudo corelens /var/crash/127.0.0.1-2024-06-28-09:33:07/vmcore
corelens
コマンド出力のモジュールの選択
-M
オプションを使用して、corelens
コマンドからの出力をフィルタします。
corelens
コマンドは、-M
オプションを使用して、診断が必要なシステムの部分に基づいて出力をフィルタリングすることもできます。たとえば、ライブ・カーネルの完全な出力を再現するには、sys
モジュールをアクティブ化します:
sudo corelens /proc/kcore -M sys
同様に、進行中のI/Oリクエストのリストを表示するには、inflight-io
モジュールをアクティブ化します:
sudo corelens /proc/kcore -M inflight-io
モジュールごとに-M
オプションを再使用して、複数のモジュールを指定できます。たとえば、ライブ・カーネルおよび現在存在するすべてのマウント済ディレクトリの完全な出力を再現するには、sys
およびmounts
モジュールをアクティブ化します:
sudo corelens /proc/kcore -M sys -M mounts
出力例は次のとおりです:
warning: Running corelens against a live system.
Data may be inconsistent, or corelens may crash.
====== MODULE sys ======
MODE : Live kernel
DATE : Fri Jul 12 18:18:12 2024
NODENAME : oracle-example-ol8
RELEASE : 5.15.0-206.153.7.el8uek.x86_64
VERSION : #2 SMP Thu May 9 15:52:29 PDT 2024
MACHINE : x86_64
UPTIME : 10 days, 0:35:16
LOAD AVERAGE: 0.12 , 0.04 , 0.01
JIFFIES : 5160783970
MEMORY : 7.47 GiB
TASKS : 275 R:1 D:0 S:184 I:90
PLATFORM : QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.6.6 08/22/2023 X86_HYPER_KVM
CPU VENDOR: GenuineIntel
MODEL NAME: Intel(R) Xeon(R) Platinum 8358 CPU @ 2.60GHz
CPU FAMILY: 6
CPUS : 2
CPUS NUMA0: 0-1
MICROCODE : 0x1
CSTATES : 9
====== MODULE mounts ======
DEVNAME TYPE DIRNAME
------- ------ -------
none rootfs /
sysfs sysfs /sys
proc proc /proc
devtmpfs devtmpfs /dev
securityfs securityfs /sys/kernel/security
tmpfs tmpfs /dev/shm
devpts devpts /dev/pts
tmpfs tmpfs /run
tmpfs tmpfs /sys/fs/cgroup
cgroup cgroup /sys/fs/cgroup/systemd
pstore pstore /sys/fs/pstore
efivarfs efivarfs /sys/firmware/efi/efivars
bpf bpf /sys/fs/bpf
cgroup cgroup /sys/fs/cgroup/freezer
cgroup cgroup /sys/fs/cgroup/rdma
cgroup cgroup /sys/fs/cgroup/blkio
cgroup cgroup /sys/fs/cgroup/hugetlb
cgroup cgroup /sys/fs/cgroup/perf_event
cgroup cgroup /sys/fs/cgroup/memory
cgroup cgroup /sys/fs/cgroup/net_cls,net_prio
cgroup cgroup /sys/fs/cgroup/misc
cgroup cgroup /sys/fs/cgroup/pids
cgroup cgroup /sys/fs/cgroup/cpuset
cgroup cgroup /sys/fs/cgroup/cpu,cpuacct
cgroup cgroup /sys/fs/cgroup/devices
none tracefs /sys/kernel/tracing
configfs configfs /sys/kernel/config
/dev/mapper/ocivolume-root xfs /
rpc_pipefs rpc_pipefs /var/lib/nfs/rpc_pipefs
selinuxfs selinuxfs /sys/fs/selinux
systemd-1 autofs /proc/sys/fs/binfmt_misc
mqueue mqueue /dev/mqueue
hugetlbfs hugetlbfs /dev/hugepages
debugfs debugfs /sys/kernel/debug
/dev/sda2 xfs /boot
/dev/mapper/ocivolume-oled xfs /var/oled
/dev/sda1 vfat /boot/efi
fusectl fusectl /sys/fs/fuse/connections
tmpfs tmpfs /run/user/987
/dev/sdb1 ext4 /mnt
tmpfs tmpfs /run/user/1000
指定可能なすべてのモジュールの完全なリストを表示するには、-L
オプションを指定してcorelens
コマンドを実行します:
corelens -L
各corelens
モジュールの動作の詳細は、-M
オプションを使用して各モジュールを指定した後に、-h
オプションを使用します:
corelens -M module -h
たとえば、カーネル・ディレクトリ・エントリ・キャッシュを出力するdentrycache
モジュールについてさらに確認するには、次のコマンドを使用します:
corelens -M dentrycache -h
次のような出力結果が表示される場合があります。
usage: dentrycache [-h] [--limit LIMIT] [--negative] [--detailed]
List dentries from the dentry hash table
optional arguments:
-h, --help show this help message and exit
--limit LIMIT, -l LIMIT
list at most <number> dentries, 50 by default
--negative, -n list negative dentries only, disabled by default
--detailed, -d include inode, super, file type, refcount
corelens
を使用したレポートの生成
提供されているcorelens
コマンド・オプションを使用して、後で確認するためのレポートを生成します。
corelens
コマンドからレポートを生成するには、-o
オプションを使用して、そのレポートの出力ディレクトリを指定します。たとえば、ライブ・カーネルのレポートを生成し、そのレポートを現在の作業ディレクトリ内のreport
というフォルダに出力するには、次のコマンドを使用します:
sudo corelens /proc/kcore -a -o report
-M
オプションを使用してモジュールを明示的に指定しない場合は、-a
オプションを使用して標準モジュールでレポートを生成するか、-A
オプションで詳細モジュールを使用してレポートを生成します。
ノート:
すべてのモジュールを使用してレポートを生成すると、一部のモジュールを実行できなかったという警告が最終レポートに含まれる場合があります。一部のcorelens
モジュールはコア・ダンプを必要とするか、特定のカーネル・モジュールがロードされている場合にのみ機能するため、これは予期される動作です。
診断情報は、corelens
コマンドの実行時にアクティブだった各モジュールのプレーンテキスト・ファイルに格納されます。たとえば、mounts
モジュールから出力されたマウント済ディレクトリを確認するには、report/mounts
ファイルの内容を表示します:
cat report/mounts
出力例は次のとおりです:
DEVNAME TYPE DIRNAME
------- ------ -------
none rootfs /
proc proc /proc
sysfs sysfs /sys
devtmpfs devtmpfs /dev
securityfs securityfs /sys/kernel/security
tmpfs tmpfs /dev/shm
devpts devpts /dev/pts
tmpfs tmpfs /run
cgroup2 cgroup2 /sys/fs/cgroup
pstore pstore /sys/fs/pstore
efivarfs efivarfs /sys/firmware/efi/efivars
bpf bpf /sys/fs/bpf
configfs configfs /sys/kernel/config
/dev/mapper/ocivolume-root xfs /
rpc_pipefs rpc_pipefs /var/lib/nfs/rpc_pipefs
selinuxfs selinuxfs /sys/fs/selinux
systemd-1 autofs /proc/sys/fs/binfmt_misc
hugetlbfs hugetlbfs /dev/hugepages
mqueue mqueue /dev/mqueue
debugfs debugfs /sys/kernel/debug
tracefs tracefs /sys/kernel/tracing
fusectl fusectl /sys/fs/fuse/connections
none ramfs /run/credentials/systemd-sysctl.service
none ramfs /run/credentials/systemd-tmpfiles-setup-dev.service
/dev/mapper/ocivolume-oled xfs /var/oled
/dev/sda2 xfs /boot
/dev/sda1 vfat /boot/efi
none ramfs /run/credentials/systemd-tmpfiles-setup.service
tmpfs tmpfs /run/user/0
tmpfs tmpfs /run/user/982
tmpfs tmpfs /run/user/1000