すべてのプロダクト
Search
ドキュメントセンター

Alibaba Cloud Linux:Alibaba Cloud Linux 2を使用する

最終更新日:Jul 17, 2024

このトピックでは、Alibaba Cloud Linux 2オペレーティングシステムで、システムまたはカーネルパラメーターの表示、kdumpの有効化または無効化、およびDebuginfoパッケージ、ソースコードパッケージ、および実験用ソフトウェアパッケージの取得方法について説明します。

パラメータの表示または変更

  • システムパラメーターの表示または変更

    sysctlコマンドを実行して、Alibaba Cloud Linux 2のランタイムシステムパラメーターを表示または変更できます。 Alibaba Cloud Linux 2では、/etc/sysctl.d/50-aliyun.confファイルで次のカーネル設定パラメーターが更新されています。

    システムパラメーター

    説明

    kernel.hung_task_timeout_secs = 240

    カーネルhung_taskのタイムアウト時間を秒単位で増やして、頻繁なhung_taskプロンプトを防ぎます。

    kernel.panic_on_oops = 1

    カーネルでOopsエラーが発生すると、カーネルパニック例外をスローします。 kdump が設定されている場合、システム障害の詳細は自動的にキャプチャされます。

    kernel.watchdog_thresh = 50

    高分解能タイマー (hrtimer) 、マスク不可能割り込み (NMI) 、ソフトロックアップ、ハードロックアップなどのイベントのしきい値を設定して、潜在的なカーネルの誤検知を防ぎます。

    kernel.hardlockup_panic = 1

    カーネルでハードロックアップエラーが発生すると、カーネルパニック例外をスローします。 kdump が設定されている場合、システム障害の詳細は自動的にキャプチャされます。

  • カーネルパラメーターの表示

    cat /proc/cmdlineコマンドを実行して、Alibaba Cloud Linux 2のランタイムカーネルパラメーターを表示できます。 Alibaba Cloud Linux 2では、次のカーネルパラメーターが更新されています。

    カーネルパラメーター

    説明

    crashkernel=0M-2G:0M、2G-8G:192M、8G-:256M

    kdump用のメモリスペースを予約します。

    cryptomgr.notests

    カーネルの起動時に暗号化セルフチェックを無効化して、システムの起動を高速化します。

    cgroup.memory=nokmem

    メモリcgroupのカーネルメモリ統計機能を無効にして、潜在的なカーネルの不安定性を防ぎます。

    rcupdate.rcu_cpu_stall_timeout=300

    カーネルの誤検知を防ぐため、RCU CPU Stall Detectorのタイムアウトしきい値を300秒に上げます。

kdump の有効化または無効化

Alibaba Cloud Linux 2はkdumpサービスを提供します。 このサービスを有効化すると、カーネルエラーがキャプチャされ、カーネルの障害分析に役立てることができます。

説明

選択したインスタンスタイプのメモリが2 GiBを超えない場合、kdumpサービスは使用できません。

  • 次のコマンドを順番に実行して、kdumpサービスを有効にします。

    # Enable the kdump service.
    sudo systemctl enable kdump.service
    # Restart the kdump service.
    sudo systemctl restart kdump.service
  • 次のコマンドを順番に実行して、kdumpサービスによって予約されたメモリアドレス空間をオペレーティングシステムに戻し、kdumpサービスを無効にします。

    # Change the configurations in the /sys/kernel/kexec_crash_size file.
    sudo sh -c 'echo 0 > /sys/kernel/kexec_crash_size'
    # Disable the kdump service.
    sudo systemctl disable kdump.service
    # Stop the kdump service.
    sudo systemctl stop kdump.service
    説明

    kdumpサービスによって予約されたメモリアドレス空間がオペレーティングシステムに戻された後、kdumpサービスを再度有効にする前に、オペレーティングシステムを再起動する必要があります。

Debuginfo パッケージとソースコードパッケージの入手

  • # Install yum-utils:

    # Install yum-utils.
    sudo yum install -y yum-utils
    # Install the Debuginfo package. In the command, packageName specifies the name of the software package that you want to install.
    sudo debuginfo-install -y <packageName>
  • 次のコマンドを順番に実行して、ソースコードパッケージを取得します

    # Install the source code.
    sudo yum install -y alinux-release-source
    # Install yum-utils.
    sudo yum install -y yum-utils
    # Install the source code package. In the command, sourcePackageName specifies the name of the software package that you want to install.
    sudo yumdownloader --source <sourcePackageName>

実験的なソフトウェアパッケージの使用

Alibaba Cloud は実験的なソフトウェアパッケージを提供していますが、これらに対する完全なテストは行われていません。 Alibaba Cloud はこれらのパッケージの品質を保証しません。 Alibaba Cloud Linux 2は、次のタイプの実験パッケージを提供します。

  • 通常の目的を果たす実験用ソフトウェアパッケージ。 例:

    • Golang 1.12

    • Golang 1.13

    次のコマンドを順番に実行して、実験用ソフトウェアパッケージをインストールします。

    # Enable support for the YUM repository.
    sudo yum install -y alinux-release-experimentals
    # Query the name and version of an experimental software package that serves regular purposes. Example: golang.
    sudo yum list <packageName> --showduplicates
    # Install an experimental software package that serves regular purposes. In the command, <packageName>-specifies the name of the software package that you want to install. <pacakgeVersion> specifies the version of the software package that you want to install. Example: golang-1.13.6.
    sudo yum install -y <packageName>-<pacakgeVersion>
  • SCL プラグインをサポートする開発キット

    • GCC-7.3.1に基づく開発キット: devtoolset-7

    • GCC-8.2.1に基づく開発キット: devtoolset-8

    • GCC-9.1.1に基づく開発キット: devtoolset-9

    • GCC-10.2.1に基づく開発キット: devtoolset-10

    • GCC-11.2.1に基づく開発キット: devtoolset-11

    次のコマンドを順番に実行して、実験用ソフトウェアパッケージをインストールします。

    # Install scl-utils.
    sudo yum install -y scl-utils
    # Enable support for the YUM repository.
    sudo yum install -y alinux-release-experimentals
    # Install the software packages that you need from the YUM repository. The following sample commands are run to install all development kits that support SCL plug-ins:
    sudo yum install -y devtoolset-7-gcc devtoolset-7-gdb devtoolset-7-binutils devtoolset-7-make
    sudo yum install -y devtoolset-8-gcc devtoolset-8-gdb devtoolset-8-binutils devtoolset-8-make
    sudo yum install -y devtoolset-9-gcc devtoolset-9-gdb devtoolset-9-binutils devtoolset-9-make
    sudo yum install -y devtoolset-10-gcc devtoolset-10-gdb devtoolset-10-binutils devtoolset-10-make
    sudo yum install -y devtoolset-11-gcc devtoolset-11-gdb devtoolset-11-binutils devtoolset-11-make

    ソフトウェアパッケージをインストールした後、新しいバージョンのGNU Compiler Collection (GCC) および関連ツールを使用できます。 サンプルコマンド:

    # Specify a repository name to view an existing SCL. In this example, the devtoolset-7 repository is used.
    scl -l devtoolset-7
    # Run the related SCL software.
    scl enable devtoolset-7 'gcc --version'

    を有効にする