9 corelensコマンド・リファレンス

この表は、corelensコマンドに関する情報を示しています。

アクション コマンド 説明

実行中のカーネルまたはvmcoreクラッシュ・ダンプのシステム状態のサマリーを確認します。

sudo corelens path/to/dumpfile

実行中のライブ・カーネルまたは生成されたクラッシュ・ダンプをデバッグするための情報を提供します。

corelensモジュールを実行して、実行中のカーネルまたはvmcoreクラッシュ・ダンプの内容を分析し、結果を確認します。

sudo corelens path/to/dumpfile -M module

モジュールでフィルタされた実行中のカーネルまたは生成されたクラッシュ・ダンプをデバッグするための情報を提供します。

指定できるモジュールのリストを確認します。

corelens -L

-Mオプションとともに使用するモジュール・フィルタのリストを提供します。

corelensコマンドからの出力に基づいてレポートを作成します。

sudo corelens path/to/dumpfile -a -o report

corelensコマンドで取得されたすべてのデバッグ情報を含む診断レポートを生成します。

corelensコマンドで提供されるその他のオプションを確認します。

corelens -h

drgnコマンドのコマンドライン・オプションのリストを提供します。

たとえば、ライブ・カーネルの/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