1. ホーム
  2. リナックス

Linuxでシステムの基本情報、バージョン情報(最も完全なバージョン)を見ることができます。

2022-02-25 18:15:15

Linuxのビット数、バージョン情報、CPUカーネル情報、CPU特定モデルの表示方法について

1. uname -a (Linuxで現在のOSカーネルのバージョン情報を見る)

2. cat /proc/version (Linuxで現在のOSのバージョン情報を確認する)

3. cat /etc/issue または cat /etc/redhat-release (Linuxビューバージョンの現在のOSリリース情報)

4. cat /proc/cpuinfo

lscpu (CPU関連情報のLinuxビュー。モデル、メイン周波数、カーネル情報など)

5.getconf LONG_BIT(Linuxのビューバージョンは、現在のCPUが32bitモードで動作していることを示しますが、CPUが64bitをサポートしていないことを意味するものではありません。)

6. ホスト名(ビューサーバー名)

7. cat /etc/sysconfig/network-scripts/ifcfg-eth0

cat /etc/sysconfig/network-scripts/ifcfg-l0

ifconfig (ネットワーク情報を表示する)

8.lsblk (ディスク情報を見る - 利用可能なすべてのブロックデバイスを一覧表示し、その依存関係も表示します。ただし、RAMディスクは表示されません。)

fdisk -l (ドライブの物理的な使用状況を見る。また、ドライブのパーティション分割を行う)

df -k (ディスクパーティションの空き容量を表示する)

----------------------------------------------------------------------------- gorgeous divider ----------------------------------------------- -----------------------------------

---------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------

<スパン [添付】システム情報クエリブック

# uname -a # カーネル/OS/CPU の情報を表示します。 
# head -n 1 /etc/issue # OSのバージョンを見る 
# cat /proc/cpuinfo # CPUの情報を見る 
# ホスト名 # コンピュータ名を表示 
# lspci -tv # 全ての PCI デバイスを一覧表示します。 
# lsusb -tv # 全ての USB デバイスを一覧表示します。 
# lsmod # ロードされたカーネルモジュールの一覧表示 
# env # 環境変数のリソースを見る 
# free -m # メモリ使用量とスワップ領域使用量の表示 
# df -h # パーティションの使用状況をパーティション単位で見る 
# du -sh <ディレクトリ名> # 指定されたディレクトリのサイズを表示する 
# grep MemTotal /proc/meminfo # メモリの総量を表示します。 
# grep MemFree /proc/meminfo # フリーメモリの量を表示します。 
# uptime # システムの稼働時間、ユーザー数、負荷を表示します。 
# cat /proc/loadavg # システムの負荷ディスクとパーティションを表示します。 
# mount | column -t # マウントされたパーティションの状態を表示します。 
# fdisk -l # すべてのパーティションを表示する 
# swapon -s # すべてのスワップパーティションを表示します。 
# hdparm -i /dev/hda # ディスクのパラメータを表示 (IDE デバイスのみ) 
# dmesg | grep IDE # 起動時に IDE デバイスの検出状態を表示するネットワーク 
# ifconfig # すべてのネットワークインターフェイスのプロパティを表示します。 
# iptables -L # ファイアウォールの設定を見る 
# route -n # ルーティングテーブルを見る 
# netstat -lntp # すべてのリスニングポートを表示します。 
# netstat -antp # 確立されたすべての接続を表示します。 
# netstat -s # ネットワークの統計情報を表示するプロセス 
# ps -ef # すべてのプロセスを表示 
# top # プロセスの状態をリアルタイムで表示する ユーザー 
# w # アクティブユーザーを見る 
# id <username> # 指定したユーザ情報を表示する 
# last # ユーザーのログインログを表示 
# cut -d: -f1 /etc/passwd # システム上の全ユーザーを表示する 
# cut -d: -f1 /etc/group # システム上の全グループを見る 
# crontab -l # 現在のユーザのスケジュールされたタスクサービスを表示します。 
# chkconfig -list # 全てのシステムサービスを一覧表示します。 
# chkconfig -list | grep on # 起動したすべてのシステムサービスをリストアップします。 

# rpm -qa # インストールされているすべてのパッケージを表示します。

システムの起動時間を計算するために、/proc/uptime ファイルを表示する。
cat /proc/uptime
出力されます。5113396.94 575949.85

最初の数値は、5113396.94秒のシステム起動時間です。これは、システムツールの日付からシステム起動時間を求めることで算出されます

date -d "$(awk-F。 '{print $1}' /proc/uptime) second ago" +"%Y-%m-%d %H:%M:%S"

出力します。2018-01-02 06:50:52

システムランタイムを計算するために /proc/uptime ファイルを表示します。

cat /proc/uptime| awk -F. '{run_days=$1 / 86400;run_hour=($1 % 86400)/3600;run_minute=($1 % 3600)/60;run_second=$1 % 60;printf("System has run: %d日 %dhour%dminute%dsecond",run_days,run_hour,run_minute,run_second)}'.

出力:System has run: 1日、1時間、36分、13秒

<スパン Linux View 物理CPU数、コア数、論理CPU数

# 総コア数 = 物理CPU数 X 物理CPUあたりのコア数 
# 論理CPU数=物理CPU数×物理CPUあたりのコア数×ハイパースレッド数

# 物理CPUの数を表示
cat /proc/cpuinfo| grep "物理ID"|sort|uniq| wc -l
2

# 各物理CPUのコア数(=コア数)
cat /proc/cpuinfo| grep "cpu cores"| uniq
cpuコア:2

# 表示する論理CPUの数
cat /proc/cpuinfo| grep "プロセッサ"| wc -l


# CPU情報(モデル)を見る
cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
      4 CPU インテル(R) Core(TM) i5-6500 @ 3.20GHz

コマンド cat /proc/cpuinfo を入力すると、物理 CPU の数に対して物理 ID がいくつあるか、論理 CPU の数に対してプロセッサーがいくつあるかを確認することができます。
(コンセプト
物理CPU
実際のサーバーのスロットに搭載されているCPUの数
物理CPUの数、重複していない物理IDの数を数えることができる
論理CPU 
/proc/cpuinfo は、CPU のハードウェア情報を格納するために使用されます。
その内容は、プロセッサ0~プロセッサnのそれぞれの仕様が記載されています。なお、n+1 は論理CPUの数です。
一般的に、CPUは複数のコアを持つことができると考えられており、インテルのハイパースレッディングテクノロジー(HT)により、CPUコアの数を論理的に倍増させることが可能である。
論理CPU数=物理CPU数×CPUコア数 この仕様値×2(サポートされ、htが有効な場合)    
注:Linuxでtopから見たCPUの数は、論理CPUの数でもある
 CPUコア
CPUのデータを扱えるチップセットの数で、例えば現行のi5 760はデュアルコア4スレッドCPUですが、i5 2250はクアッドコア4スレッドCPUとなります。
一般的には、物理CPUの数×1コアあたりのコア数が論理CPUの数と一致するはずで、一致しない場合は、サーバーのCPUがハイパースレッディング技術に対応しているかどうか

cpuの統計情報を見るlscpuコマンド


<スパン メモリ

メモリ解放のサマリー表示 -m 詳細: cat /proc/meminfo

ハードディスクとパーティションの分布の表示: lsblk

ドライブやパーティションの詳細情報を見るには:fdisk -l

ディスクの使用量や占有率をKB単位で表示するには、"df -k"、ディスクの使用量や占有率をM単位で表示するには、-mコマンドを使用します。

<スパン NIC

NICのハードウェア情報を見る
# lspci | grep -i 'eth'
02:00.0 イーサネットコントローラです。Realtek Semiconductor Co. RTL8111/8168B PCI Express ギガビットイーサネットコントローラ (rev 06)

システムのすべてのネットワークインターフェイスを表示する: ifconfig -a

eth0の詳細なパラメータやメトリックなど、ネットワーク・インターフェイスの詳細情報を表示するには: ethtool eth0

pci 情報、すなわちマザーボード上のすべてのハードウェアスロットの情報を表示するには: lspci

より詳細な情報:lspci -v または lspci -vv

デバイス ツリーを表示する場合: lspci -t


 Linuxの/procディレクトリの詳細説明


1. /proc ディレクトリ
Linux カーネルは、/proc ファイルシステムを通じて、実行時に内部のカーネルデータ構造にアクセスし、カーネル設定を変更する仕組みを提供しています。 proc ファイルシステムは、メモリ上にのみ存在し、外部メモリ空間を占有しない擬似的なファイルシステムです。ファイルシステムと同じように、システムのカーネルデータにアクセスするためのインタフェースを提供します。
ユーザーやアプリケーションは proc を通してシステムに関する情報を得ることができ、カーネルの特定のパラメータを変更することができる。プロセスなどのシステムに関する情報は動的に変更されるため、proc ファイルシステムは、ユーザやアプリケーションが proc ファイルを読み込む際に、システムカーネルから必要な情報を動的に読み込んでコミットしています。カーネルの構成やロードされているモジュールによって、以下に挙げるファイルやサブフォルダがすべてシステムに存在するわけではありません。さらに、/proc の下には net、scsi、sys という 3 つの非常に重要なディレクトリがあります。Sys ディレクトリは書き込み可能で、カーネルパラメータへのアクセスや変更に使用できますが、net と scsi はカーネル設定に依存します。例えば、システムが scsi をサポートしていない場合、scsi ディレクトリは存在しません。
上記の他に、プロセスディレクトリと呼ばれる数字で名付けられたディレクトリも多数存在します。現在システム上で動作している各プロセスは、/proc以下にプロセスのPID番号をディレクトリ名とする対応するディレクトリを持ち、それらはプロセス情報を読み出すためのインタフェースとなっている。一方、selfディレクトリは、プロセス自身の情報を読み取るためのインタフェースであり、リンクである。

2. サブファイルまたはサブフォルダ
/proc/buddyinfo メモリの断片化問題に関連する、各メモリ領域で利用可能な各順序のチャンクの数
/proc/cmdline 起動時にカーネルに渡されるパラメータに関する情報
/proc/cpuinfo cpuに関する情報
/proc/crypto インストールされているすべての暗号化パスワードとカーネルが使用する詳細情報
/proc/devices 既にロードされ、分類されたデバイスたち
/proc/dma 使用するために登録された ISA DMA チャンネルのリスト
/proc/execdomains Linux カーネルがサポートする現在の実行ドメインです。
/proc/fb フレームバッファデバイスの一覧、数、それを制御するドライバを含む
/proc/filesystems 現在カーネルがサポートしているファイルシステムタイプ
/proc/interrupts x86アーキテクチャのIRQごとの割り込み数

/proc/iomem システムメモリ内の各物理デバイスの現在のマッピング状況
/proc/ioports デバイスの入出力で使用される登録ポートの範囲
/proc/kcore はシステムの物理メモリを表し、コアファイル形式で保存され、バイト数はRAMサイズに4kbを加えたものが表示されます。
/proc/kmsg はカーネルが生成した情報を記録し、/sbin/klogd または /bin/dmesg によって処理されます。
uptimeコマンドに関連する、CPUとIOの経時的な状態に基づく/proc/loadavgの負荷状況
カーネル /proc/locks によってロックされたファイルのリスト
/proc/mdstat 複数ディスク、RAID構成情報 (md=multiple disks)
/proc/meminfo RAMの使用状況についての情報
/proc/misc プライマリーデバイス(デバイス番号10)に登録されているその他のドライバです。
/proc/modules カーネルにロードされた全モジュールのリスト
/proc/mounts システムで使用されているすべてのマウントのリスト
/proc/mtrr システムが使用するメモリタイプ レンジ レジスタ (MTRR)
/proc/partitions パーティション内のブロックアロケーション情報
proc/pciシステム内のPCIデバイスのリスト
/proc/slabinfo システム内のすべてのアクティブなスラブキャッシュの情報
/proc/stat すべての CPU の活動情報
/proc/sysrq-trigger echo コマンドを使用してこのファイルに書き込むと、リモート root ユーザーは、システム要求キーコマンドのほとんどをローカル端末で実行したかのように実行することができます。このファイルに書き込むには、/proc/sys/kernel/sysrq を 0 に設定してはいけません。 また、このファイルは root からは読めません。
/proc/uptime システムが稼働している時間
proc/swaps スワップスペースの使用状況
/proc/version Linuxカーネルバージョンとgccバージョン
/proc/bus pci/usb などのシステムバス(Bus)情報。
/proc/driver ドライバ情報
/proc/fs ファイルシステム情報
/proc/ide イデアデバイス情報
/proc/irq 割り込み要求デバイス情報
/proc/net NICデバイス情報
/proc/scsi scsi デバイス情報
/proc/tty tty デバイス情報
/proc/net/dev ネットワークアダプターおよび統計情報を表示します。
/proc/vmstat 仮想メモリ統計情報
カーネルパニック時の /proc/vmcore メモリイメージ
/proc/diskstats ディスク情報を取得します。
/proc/schedstat カーネルスケジューラの統計情報
/proc/zoneinfo は、仮想メモリの動作解析に有用なメモリ空間の統計情報を表示します。

以下は、/procディレクトリにあるプロセスNの情報です。
pidがNのプロセス/proc/Nに関する情報
/proc/N/cmdline プロセス開始コマンド
/proc/N/cwd プロセスの現在の作業ディレクトリにリンクします。
/proc/N/environ プロセス環境変数のリスト
/proc/N/exe プロセスの実行コマンド・ファイルへのリンク
/proc/N/fd プロセスに関連するすべてのファイル記述子を含む
/proc/N/maps プロセス関連のメモリマッピング情報
/proc/N/mem は、プロセスが保持するメモリを指し、読み取ることはできません。
/proc/N/root は、プロセスのルートディレクトリにリンクしています。
/proc/N/stat プロセスの状態
プロセスが使用する /proc/N/statm メモリの状況
/proc/N/status プロセスの状態情報、stat/statm よりも読みやすい。
/proc/self は現在実行中のプロセスへのリンクです。