Linux Kernel 5.9がリリースされ、大衆向けに利用できるようになりました。他のリリースと同様に、Kernel5.9は更新されたドライバーとともに素晴らしい機能を導入します。 Linux Kernel 5.9の開発は、Linus Torvaldsが最初のリリース候補(RC)マイルストーンを発表した約2か月前に始まりました。
この新しいリリースには多くのユニークな機能がありますが、技術をいじくり回していない場合や、実行中のLinuxシステムの舞台裏で何が起こっているかに興味がない場合は、それほど魅力的ではないように思われるかもしれません。
この投稿では、LinuxKernel5.9で期待できる機能のいくつかを見ていきます。また、FedoraとUbuntuにKernel5.9をインストールする方法も示します。飛び込みましょう。
LinuxKernel5.9の優れた機能
これらの機能のほとんどは、主に、より優れたメモリ管理、ドライバー、およびシステム全体のパフォーマンスを対象としています。カーネルリリースでは、ユーザーインターフェイスが改善されることはめったにありません。これらの更新のほとんどは、システムパフォーマンスに焦点を合わせています。 GUIの改善の多くは、デスクトップ環境で行われます。その点については、主にグラフィカルユーザーインターフェイスの全体的な改善に焦点を当てた、GNOME3.38の10のベスト新機能に関する投稿を読むことができます。
1。匿名メモリのより良い管理
匿名メモリとは、ファイルでバックアップされていないメモリを指します。これは一般に、mallocedメモリとして知られています。 Kernel 5.9のリリースは、このメモリのシステムワークロードの検出と保護を改善することを目的としています。一般に、Linuxカーネルは、そのページをアクティブまたは非アクティブのリストに配置することによって匿名メモリを管理します。システムのメモリリソースが不足すると(メモリ不足)、未使用のページがアクティブリストから非アクティブリストに移動され、再度参照されます。メモリ不足がさらに発生した場合は、SWAPに移動されます。
以前は、新しく作成されたページまたはスワップインページがアクティブリストにプッシュされていました。その結果、使用済みページが非アクティブリストに強制的に削除されました。カーネル5.9では、新しく作成されたページまたはスワップインページが最初に非アクティブリストに配置されます。それらは、十分に参照された後にのみアクティブリストに移動されます。さらに、新しく作成されたページまたはスワップインされたページが非アクティブなリストから既存のページをスワップアウトするのを防ぐために、Kernel5.9には匿名LRUリストを処理するための新機能が付属しています。
2。プロアクティブなメモリ圧縮
x86システムでのシステムパフォーマンスを向上させるために、プロセッサは巨大なページ(4KBより大きいページ)を使用します。残念ながら、巨大なページは多くの連続した空きメモリを必要としますが、これは高度に断片化されたメモリでは取得するのが非常に難しい場合があります。 Linuxシステムはデフラグをサポートしていますが、それは巨大なページの割り当てが必要な場合にのみ行われ、多くの時間がかかる可能性があります。カーネル5.9は、プロアクティブなメモリ圧縮(最適化)を実現します。これは、巨大なページで割り当てが必要になる前でも発生するため、将来の割り当てにかかる時間を節約できます。
3。ソケットルックアップでのBPFプログラムの実行のサポート
Berkeley Packet Filter(BPF)は、ネットワークトラフィックの分析に使用されるテクノロジーです。カーネルがリリースされるたびに、BPFには常にいくつかの改善が加えられています。カーネル5.9では、BPF_PROG_TYPE_SK_LOOKUPという名前の新しいBPFプログラムが導入されています。このプログラムは、TCP / IPモデルのトランスポート層が新しい接続を作成するためのリスニングソケット(TCP)を検索するか、パケットの未接続ソケット(UDP)を検索するときに実行されます。
4。期限スケジューリングクラスのCPU容量の認識
Linux Kernel 3.14のリリース以降、Linuxタスクスケジューラは期限スケジューリングクラスをサポートしています。残念ながら、このスケジューリングクラスは、CPUのパフォーマンスレートが異なることを認識していなかったため、誤ったスケジューリング決定を行いました。 Kernel 5.9リリースでは、期限スケジューリングクラスはさまざまなCPUパフォーマンスレートを認識します。
5。拡張属性のNFSサポート
NFS(Network File System)は、Linux/UNIXシステム間でファイルやフォルダーを効率的に共有できるようにするプログラムです。カーネル5.9には、NFSに存在するギャップの一部を埋める拡張属性のサポートが組み込まれています。
6。 ZSTD圧縮カーネル、ramdisk、およびinitramfsのサポート
カーネルブートプロセスの場合、Linux Kernel 5.9は、ZSTDで圧縮されたカーネル、ramdisk、およびinitramfsのサポートを追加します。これらの機能はすべて、x86アーキテクチャとx64アーキテクチャの両方でサポートされています。 Zstandard(ZSTD)は、C言語で開発されたオープンソースのアルゴリズムであり、優れた圧縮率と解凍率を提供します。
ZSTDプログラム開発者であるFacebookは、xz圧縮initramfsからZSTD圧縮initramfsに切り替え、解凍プロセスを12秒から3秒に短縮しました。また、カーネルに適用すると、起動時間が2秒短縮されました。
7。 x86FSGSBASE命令のサポート
Linux 5.9は、IntelによるFSGSBASE命令のサポートをもたらします。これらにより、FSおよびFSセグメントのベースレジスタに簡単にアクセスできます。さらに、新しいsysctlノブのサポート、EXT4およびF2FSファイルシステムのインライン暗号化サポート、ChromeOS組み込みコントローラーレギュレーターのサポートを提供します。
8。新しいclose_range()システムコール
カーネル5.9は、新しいシステムコールclose_range(2)を生成します。この呼び出しにより、stderrを通過したファイル記述子を効率的に閉じることができます。システムコールは、サービスマネージャー、libcs、コンテナーランタイム、プログラミング言語ランタイム/標準ライブラリ(Rust / Python)などのさまざまなプロジェクトに非常に役立ちます。
LinuxKernel5.9のインストール方法
Kernel 5.9が提供するこれらの優れた機能のいくつかを見てきましたが、おそらく現在のLinuxディストリビューションにインストールすることを考えています。これが、このセクションで正確に説明する内容です。
ただし、先に進む前に、注意が必要なことがいくつかあります。現在のディストリビューションは、カーネル5.9で実行するように最適化されていない可能性があります。したがって、カーネル5.9にアップグレードすることですべてのパフォーマンスが向上する可能性がありますが、現在のカーネルリリースでディストリビューション用に最適化された機能の一部を見逃す可能性があります。
とはいえ、カーネル5.9にアップグレードする方法を段階的に説明します。このチュートリアルのターゲットディストリビューションはUbuntuとFedoraです。
Ubuntu20.04LTSにカーネル5.9をインストールする
何をするかをよりよく理解するために、まずシステムで実行されているカーネルのバージョンを確認しましょう。以下のコマンドを実行します:
uname -r
上記の出力から、カーネル5.4を実行していることがわかります。アップグレードするには、インストールするカーネルファイルをダウンロードする必要があります。以下のコマンドを実行します:
cd /tmp wget -c https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.9/amd64/linux-headers-5.9.0-050900_5.9.0-050900.202010112230_all.deb wget -c https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.9/amd64/linux-headers-5.9.0-050900-generic_5.9.0-050900.202010112230_amd64.deb wget -c https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.9/amd64/linux-image-unsigned-5.9.0-050900-generic_5.9.0-050900.202010112230_amd64.deb wget -c https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.9/amd64/linux-modules-5.9.0-050900-generic_5.9.0-050900.202010112230_amd64.deb
ダウンロードが完了したら、次のコマンドを使用してファイルをインストールします。
sudo dpkg -i *.deb
インストールプロセスが完了したら、システムを再起動して unameを実行します もう一度コマンドを実行して、実行しているカーネルを確認します。カーネル5.9の出力が表示されるはずです。
uname -r
Fedoraにカーネル5.9をインストールする
Fedoraユーザーの場合、以下の手順でKernel5.9のインストールをガイドします。
手順1.システムで現在実行されているカーネルを確認する必要がある場合があります。私の場合、カーネル5.8を利用するFedora33Betaがインストールされています。以下のコマンドを実行します:
cat /etc/redhat-release uname -r
ステップ2.GPGキーをインストールします。
sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
手順3.次のコマンドを使用してリポジトリをインストールします。
sudo dnf install https://www.elrepo.org/elrepo-release-8.0-2.el8.elrepo.noarch.rpm
ステップ4.以下のコマンドを実行して、Kernel5.9をインストールします。
sudo dnf --enablerepo=elrepo-kernel install kernel-ml
ステップ5.完了したら、Fedoraシステムを再起動し、unameコマンドを再度実行します。カーネル5.9の出力が表示されるはずです。
uname -r
結論
これは、カーネル5.9の機能と、UbuntuおよびFedoraにインストールする方法に関する完全なガイドです。ご質問やご意見がございましたら、下のコメント欄にご記入ください。