マシンにCPUコアがいくつあるか調べるのは、仮想化、ハイパースレッディングなど、さまざまな専門用語が飛び交う中で、驚くほど難しい作業です。物理コアが4つなのか、仮想コアが8つなのかを知りたいだけの場合もありますし、仮想マシンの設定を最適化しようとしている場合もあります。理由が何であれ、内部で何が起こっているかを正確に把握しておくと便利です。このガイドでは、Ubuntuのターミナルコマンドを使用して、そのプロセスを非常に簡単にすることを目的としています。通常、これらのコマンドだけでコア数を確認でき、特別なツールは必要ありません。lscpuやなどのコマンドが表示されるはずです。nprocこれらは、正直言ってかなり信頼性が高いですが、どこを確認すればよいか、何を期待できるかを知っておく必要がある場合もあります。ハードウェアやUbuntuのバージョンによっては、多少の癖が出るかもしれませんが、全体として、これらの手順でCPU設定についてかなり確実な情報が得られるはずです。

UbuntuでCPUコア数を確認する方法

lscpu詳細情報を取得するにはコマンドを使用します

このコマンドは、CPUのコア数、スレッド数、モデル情報など、CPUの詳細情報が必要な場合に最適です。/proc/cpuinfoから情報を取得し、人間が読める形式で表示します。ある環境では1回目の試行でうまくいきましたが、別の環境では再起動することで矛盾が修正されました。通常は、 でターミナルを開きCtrl + Alt + T、次のように入力します。

lscpu

「CPU(s): 」という行を探してください。これが、ハイパースレッディング対応コアを含む論理プロセッサの総数です。8と表示されている場合、ハイパースレッディングが有効になっている物理コアが4つあり、各コアが2つのスレッドとして表示される可能性があります。この点に注意してください。この行は、システムがより多くの並列タスクを処理できるかどうか、またはハードウェアによって制限されているかどうかを判断するのに役立ちます。

コマンドを使ってnproc素早くカウントする

簡単に数値を知りたい場合は、nprocこれが最適でしょう。システムで利用可能な処理ユニットの数を表示します。非常に分かりやすいです。ターミナルを開いて、次のように入力するだけです。

nproc

これは単一の数値を吐き出します。余計な情報や詳細な情報は必要ありませんlscpu。簡単なチェックやスクリプト、あるいは からの詳細情報を必要としない場合に適しています。この数値はCPU(s):の数と一致する場合もありますが、Linuxの仮想コアや省電力状態の処理方法によって異なる場合があります。それでも、日常的なほとんどのケースではこれで十分です。

コア数が重要な理由とそれがいつ表示されるか

CPUのコア数を知っておくと、パフォーマンスを最適化したり、動作が重くなったりする問題を解決したりするのに役立ちます。例えば、プログラムが「マルチスレッド」と謳っているにもかかわらず、実際にはシングルコアでしか動作しない場合、実際のハードウェア構成を知っておくことで、頭を悩ませる手間を大幅に省くことができます。また、仮想マシンやDockerコンテナをセットアップする際にも、ホストシステムに過負荷をかけずに適切な数のコアを割り当てることが重要です。さらに、ハードウェアをアップグレードする際には、現在のCPUレイアウトを把握しておくことで、将来のアップグレードでどの程度のパフォーマンス向上が期待できるかを予測するのに役立ちます。

追加のヒントとよくある癖

  • これらのコマンドを実行するには通常、基本的な権限が必要ですが、一部のシステムでは を先頭に追加する必要がある場合がありますsudo。例: sudo lscpu
  • コマンドが機能しない場合は、システムが最新であることを確認するか、不足しているツールをインストールしてみてくださいsudo apt-get install util-linux。ただし、最近の Ubuntu ではlscpu通常、すぐに使用できる状態になっています。
  • ハイパースレッディングにより、論理コア数が物理コア数の 2 倍に見えることがあるため、ハードウェア アップグレードのために物理コア数だけをカウントしている場合は誤解を招く可能性があることに留意してください。
  • 一部のセットアップでは、特にハードウェアの変更やファームウェアの更新後に、再起動や BIOS/UEFI の更新によって、コアの報告方法や認識方法が変更される場合があります。

まとめ

Ubuntu で CPU コアカウントについて簡単に解説すればlscpunprocハードウェアの正確な情報が得られるはずです。場合によっては、数値の意味(ハイパースレッディング、物理コアと論理コアなど)を理解するだけで十分です。これさえ分かれば、パフォーマンスの問題の診断やアップグレードの計画がはるかに明確になります。

これで誰かの時間を数時間短縮できればいいのですが。理由はよく分かりませんが、Ubuntuは複雑そうに見えてしまうことが時々あります。

まとめ

  • lscpu詳細な CPU 情報、特にコアとスレッドの合計数に使用します。
  • nprocコア数を素早く数えるために使用します。
  • ハイパースレッディングによりコア数が増加する可能性があることに留意してください。
  • 権限が必要な場合がありますsudo
  • コアが正しく表示されない場合は、BIOS アップデート後に再起動してください。

結びの言葉

これらのコマンド出力の真の意味を理解すれば、Ubuntuの設定管理と最適化がずっとわかりやすくなります。仮想ボックスを調整する場合でも、単に好奇心を満たす場合でも、CPUレイアウトを理解することは良いステップです。この記事が、誰かが正しいベンチマークをpingしたり、自分が扱っているハードウェアを特定したりするのに役立つことを願っています。もちろん、Linuxは必要以上に難しくすることもあるので。頑張ってください!