Linux では proc とはどのようなファイル システムですか?
Linux では、proc は仮想ファイル システムであり、ファイルの一部を変更することでカーネルの実行ステータスを変更できるコントロール センターであり、カーネルによって提供されるクエリ センターでもあります。ユーザーは、システム、ハードウェア、および現在実行中のプロセスの情報を表示できます。 proc システムはメモリ上にのみ存在し、システムのカーネル データにアクセスするためのインターフェイスをファイル システムの形式で提供し、一部のファイルを変更することでカーネルの動作状態を変更できます。
#このチュートリアルの動作環境: linux7.3 システム、Dell G3 コンピューター。
proc ファイル システムとは
proc は仮想ファイル システムと呼ばれ、一部のファイルを変更することでカーネルの動作を変更できるコントロール センターです。ファイル ステータス、これはカーネルによって提供されるクエリ センターでもあり、ユーザーはこれを使用して、システム ハードウェアと現在実行中のプロセスの情報を表示できます。
Linux の多くのツールのデータ ソースは、proc ディレクトリ内のコンテンツです。たとえば、lsmod コマンドは cat /proc/modules のエイリアスです。
Linux には特殊なタイプの擬似ファイル システムがあり、ptyfs、devfs、sysfs、procfs など、ファイル インターフェイスと統一された操作を使用してさまざまな機能を実行するために使用されます。 Procfs は、最も広く使用されている疑似ファイル システムの 1 つです。
ファイル システムという用語に関する限り、/proc ディレクトリは実際のファイル システムではなく、仮想ファイル システムであり、プロセス情報擬似ファイル システムとも呼ばれます。
proc によって配置されたデータは、システム カーネル、プロセス、外部デバイスのステータス、ネットワーク ステータスなど、すべてメモリ内にあります。このディレクトリ内のデータはメモリ内にあるため、ハード ディスクのスペースを占有しません。
procfs は、Linux カーネル情報の抽象ファイル インターフェイスであり、多数のカーネル情報と調整可能なパラメータが通常のファイルとしてディレクトリ ツリーにマッピングされているため、echo または cat を簡単かつ直接的に使用できます。コマンドは、システム情報を取得および調整するために使用されます。同時に、procfs は、独自のカーネル モジュールまたはユーザー モード プログラムが procfs を介してパラメータを転送できるようにするインターフェイスも提供します。今日の Linux システムでは、多数のシステム ツールも ps、lspci などの procfs を通じてカーネル パラメータを取得します。procfs がないと、それらは正しく動作しない可能性があります。
proc ファイル システムは疑似ファイル システムであり、メモリ内にのみ存在し、外部メモリ領域を占有しません。ファイル システムの形式でシステム カーネル データにアクセスするためのインターフェイスを提供します。ユーザーとアプリケーションは、proc を通じてシステム情報を取得し、カーネルの特定のパラメーターを変更できます。プロセスなどのシステム情報は動的に変化するため、ユーザーまたはアプリケーションが proc ファイルを読み取ると、proc ファイル システムはシステム カーネルから必要な情報を動的に読み取り、送信します。
Linux proc ファイル システムの詳細な説明
Linux システムの /proc ディレクトリはファイル システム、つまり proc ファイルです。システム。他の一般的なファイル システムとは異なり、/proc は疑似ファイル システム (つまり、仮想ファイル システム) です。メモリ内にのみ存在し、外部メモリ領域を占有しません。ファイル システムを使用して、システム カーネル データにアクセスします。操作は次のとおりです。現在のカーネルの実行ステータスを保存する一連の特別なファイルを保存するインターフェイス)、ユーザーはこれらのファイルを使用して、システム ハードウェアおよび現在実行中のプロセスに関する情報を表示したり、これらのファイルの一部を変更することでカーネルの実行ステータスを変更したりすることもできます。ファイル。
ディレクトリ。現在システムで実行されている各プロセスには、/proc 内に対応するディレクトリがあります。プロセスの PID 番号がディレクトリ名として使用されます。
-
ディレクトリ。 security 関連する属性は読み取り可能および書き込み可能です。SELinux などのセキュリティ モジュールをサポートするには、CONFIG_SECURITY を設定する必要があります。
- ファイル、現在のセキュリティ関連の属性。
- ファイル、execve コマンドの実行時に設定されるセキュリティ関連の属性。
- ファイル、コマンド実行時に設定されるセキュリティ関連の属性 open、mkdir、symlink、mknod。
- ファイル、コマンド add_key の実行時に設定されるセキュリティ関連の属性。
- ファイル、コマンド execve が最後に実行されたときのセキュリティ関連の属性、つまり前の「/proc/[pid]/attr/current」。
- ファイル。ソケットの作成時に設定されるセキュリティ関連の属性。
#autogroup ファイルを使用して、自動グループに割り当てられる CPU 帯域幅を変更できます。これは、「nice」範囲に数値を書き込み、自動グループ化の nice 値を設定することによって行われます。値の範囲は 19 (優先度が低い) ~ -20 (優先度が高い) です。 (この範囲外の値を書き込むと、write(2) がエラー EINVAL で失敗します。)
-
ファイル、ELF インタープリタ情報、形式は unsigned long 型 ID と unsigned long 型値です。最後に 2 つの 0 (man getauxval)。
-
ファイル、プロセスが属するコントロール グループ。形式はコロンで区切られた 3 つのフィールドです。 、それぞれ構造 ID、サブシステム、制御グループ、CONFIG_CGROUPS を構成する必要があります。
-
ファイル、書き込み専用、プロセスの所有者のみが使用、メモリ推定のためにクリアPG_Referenced および ACCESSED/YOUNG の量には 4 つの戦略 1、2、3、および 4 があります。1 は関連するすべてのページをクリアすることを意味し、2 は関連する匿名ページをクリアすることを意味し、3 は関連するマッピング ファイル ページをクリアすることを意味し、4 は関連するページをクリアすることを意味しますソフト ダーティ ページの場合は、CONFIG_PROC_PAGE_MONITOR を設定する必要があります。
-
ファイル (読み取り専用) は、プロセスを開始するための完全なコマンド ライン文字列を保存します。はゾンビ プロセスであるため、このファイルは空です。
-
ファイル、プロセスのコマンド名、別のスレッド (man clone prctl pthread_setname_np) は異なる場合がありますスレッド名は「task/[tid]/comm」にあり、TASK_COMM_LENを超える場合は切り捨てられます。
-
ファイル、00000037 (man core) などのコアダンプ フィルタ、異なるバイナリ ビットがフィルタリングを表す情報。
-
ファイル、CPU とメモリを制御するノード (man cpuset)。
-
ディレクトリ、現在の作業ディレクトリへのシンボリック リンク。
- ファイル、環境変数。
- ファイル。プロセスを開始するための完全なコマンドにシンボリックリンクされています。 q
- ディレクトリ。現在の fd が含まれます。これらの fd は、実際に開いているファイルへのシンボリック リンクです。
- ディレクトリには、現在の fd に関する情報が含まれています。fd の種類が異なれば、情報も異なります。
- ファイル、ユーザー名前空間 (man user_namespaces) からマップされたグループ ID に関する情報。
-
#ioファイル、IO 情報。
-
limitsファイル、リソースのソフト制限とハード制限 (man getrlimit)。
-
loginuid ファイルを使用すると、監査デーモンによりカーネル内の監査ツールが有効になります。カーネルで監査が有効になる前に実行されているプロセスは、loginuid 4294967295 を取得します。
4294967295 は (符号なしロング) -1 です。 -1 は、loginuid が設定されていないことを意味します。これは、ログイン プロセス (デーモンなど) によって生成されないプロセスの通常の動作です。 loginuid のデフォルトは -1 です。(tty/in DM/ssh 経由で) ログインするたびに、pam_loginuid モジュールによってユーザー ID が変更され、その値は子プロセスによって保持されます。 -
map_files いくつかのメモリ マップ ファイル (man mmap) を含むディレクトリ。ファイル名の形式は BeginAddress- です。 EndAddress 、マップされたファイルへのシンボリック リンクは CONFIG_CHECKPOINT_RESTORE で構成する必要があります。
-
mountinfoファイル、マウント情報、形式は 44 41 253:1 // rw,relatimeshared : 35 master:1 - ext4 /dev/vda1 rw,data=owned, with space as separators. 各フィールドの意味は、左から右へ、一意のマウント ID、親マウント ID、およびデバイスのマスター/スレーブ番号です。ファイル システム。、ファイル システムにマウントされたルート ノード、プロセス ルート ノードに相対的なマウント ポイント、マウント権限およびその他のマウント構成、オプション構成、ダッシュは前のオプション構成の終わりを示します、ファイル システム タイプ、ファイル システム固有取り付けソースは、何もなくてもよいし、追加の構成であってもよい。
-
mounts現在のプロセスにマウントされているファイル、ファイル システム リスト、 /dev/vda1/ext4 rw 、 relatime,data=owned 0 0 フォーマット参照 (man fstab)。
- #mountstats
ファイル、マウント情報、形式は、デバイス /dev/vda1 が / に fstype ext4 でマウントされています[統計]。
- net
- ns
- uma_maps
ファイル、uma は Non Uniform Memory Access です。詳細については、(man uma) を参照してください。
- oom_adj
-
ファイル、OOM スコア。
- ファイルでは、OOM スコアの範囲は -1000 から 1000 です。
- ファイル (現在のプロセスの仮想メモリ ページ マッピング情報) は、CONFIG_PROC_PAGE_MONITOR で設定する必要があります。
-
#personality ファイルにより、プロセス パーソナリティ フラグが /proc に表示されるようになります。プロセスの個性は機密である可能性があるため (READ_IMPLIES_EXEC など)、このファイルはプロセス所有者のみが読み取ることができます。
-
projid_map ファイルは、ユーザーおよびグループ ID マッピングと同様に、ユーザー名前空間のプロジェクト ID マッピングを作成できます。 (項目 ID はディスク クォータに使用されます。setquota(8) および quoteactl(2) を参照してください。)
-
patch_state このファイルには各タスクのパッチ ステータス値が公開されており、ユーザーはどのタスクがパッチ操作の完了を妨げているかを判断できます。
- ##sched #schedstat
- #sessionid
- setgroups
-
ファイル (ユーザー名前空間にプロセス PID を含むプロセスが setgroups( 2) システムコール、/proc/[pid]/setgroups ファイルには文字列「allow」が表示されます。ユーザー名前空間で setgroups(2) が許可されていない場合は、「deny」が表示されます。 /proc/[pid]/setgroups ファイルの値に関係なく (およびプロセスの機能に関係なく)、/proc/[pid]/gid_map が設定されていない場合、setgroups(2) の呼び出しは許可されないことに注意してください。
smaps -
ファイル、メモリ マッピング情報は、pmap コマンドと同様に、CONFIG_PROC_PAGE_MONITOR を構成する必要があります。
stack -
ファイル (カーネル空間の関数呼び出しスタック) は、CONFIG_STACKTRACE で設定する必要があります。
#stat
- ファイル、プロセス ステータス情報、ps コマンドで使用されます。 #statm ファイル、プロセスメモリ使用量情報、スペースで区切られた 7 つの数字、左から右へ、それぞれを表しますプログラムの合計サイズ、常駐メモリ サイズ、共有メモリ ページ サイズ、テキスト コード、ライブラリ、データ スタック、およびダーティ ページ。
- ファイル、読み取り可能なプロセス関連情報。
- ファイル (システム コール関連情報) で、CONFIG_HAVE_ARCH_TRACEHOOK を構成する必要があります。
- ディレクトリ。スレッドごとに 1 つのサブディレクトリ。ディレクトリ名はスレッド ID です。
- ファイル、POSIT タイマー リスト (タイマー ID、信号、その他の情報を含む)。
-
ファイル、ユーザー ID マッピング情報。
-
ファイル、プロセスがスリープしているときのカーネル内の対応する場所のシンボリック表現。 do_wait として。
- ファイル、デバイスのウェイクアップ操作。
#buddyinfo ファイル。メモリの断片化の問題を診断するために使用されます。
#bus ディレクトリ、インストールされたバス。
#input/devices ファイルにデバイス情報を入力します。
- #input/handlers
- pci/00/00.0-08.0
- pci/devices
- cgroups
- cmdline
ファイル、システムの起動時に Linux カーネルに渡されるパラメータ (lilo、grub、および他のブート管理モジュール。
ファイルを使用すると、システム コンソール /dev/console で現在使用されているデバイス行文字を表示できます。 /proc/console ファイルを表示します。 ファイル、CPU、およびシステム アーキテクチャ情報を表示します。lscpu を使用します。このファイルにコマンドを実行します。 #diskstatsファイル、ディスクのステータス。 dma ファイル、dma は Direct Memory Access です。 ファイルは、PC および Ataris のリアルタイム クロックの不揮発性メモリへのアクセスを提供します。 PC では、これは通常 CMOS メモリと呼ばれ、BIOS 構成オプションを保存します。 ファイル、実行ドメインのリスト。 #fb ファイル、フレームバッファ情報、CONFIG_FB を設定する必要があります。 filesystems ファイル、カーネルによってサポートされるファイル システム タイプ (man ファイルシステム)。 #fs ファイル、各 CPU の各 IO の割り込み情報。 irq番号、各CPUのirq処理回数、割り込みコントローラ名、irq名、ドライバがirqを登録する際に使用する名前が順に表示されます。 irq ディレクトリに、次のコマンドを実行すると、登録された各 irq の名前として irq 番号を持つサブタイトルが作成されます。 。 目次。 kallsyms ファイル。ダイナミック リンクとモジュールにバインドされたシンボル定義に使用されます。 kcore ファイル、システム内の ELF 形式の物理メモリ。 keys ファイルは、読み取りスレッドが表示する権限を持つキーのリストを公開し、各キーに関する情報を提供します。各キーのさまざまな情報。スレッドは、このファイルに表示されるキーを所有する必要はありません。 key-users システム上に少なくとも 1 つのキーを持つすべてのユーザーをリストするファイル。 ID。 kmsg ファイル、カーネル ログ情報。このファイルは dmsg コマンドによって使用されます。 kpagecount ファイル (各物理ページ フレームがマップされる回数) は、CONFIG_PROC_PAGE_MONITOR で構成する必要があります。 kpageflags ファイル (各物理ページ フレームのマスク) は、CONFIG_PROC_PAGE_MONITOR で構成する必要があります。 #locksFile、現在のファイル ロック ステータス。 mdstat ファイル、仮想デバイス情報 (ソフト RAID など)。 meminfo ファイル、システム メモリ使用量統計。このファイルは無料コマンドで使用されます。 misc# ファイル、他の主要なデバイス (デバイス番号 10) に登録されているドライバー。 modules ファイル、システムによってロードされたモジュール情報。関連するコマンドは lsmod です。 ファイル、/self/mounts にリンクされています。 ファイル、メモリ タイプ範囲レジスタ。 ネットワーク擬似ファイル システムに関連するディレクトリ。 ファイル、その他のページ アロケータ情報。 #scsi ディレクトリ、SCSI インターフェイス デバイス。 self -> 22699 ディレクトリ、現在のプロセスが配置されているディレクトリにリンクされています。 #slabinfo ファイル、カーネル キャッシュ情報、CONFIG_SLAB を設定する必要があります。 #sys sysrq-trigger 書き込み可能なファイルで、システム コールをトリガーします。 sysvipc ディレクトリには、System V IPC オブジェクトである msg、sem、shm の 3 つのファイルが含まれています。 timer_list timer_stats ファイル、システムの更新時間、プロセスのアイドル時間。 #version ファイル、カーネルのバージョン情報。 #vmallocinfo ファイル、メモリ ブロック情報。仮想メモリの動作を分析するために使用されます。 関連する推奨事項: 「Linux ビデオ チュートリアル 」##nvram
以上がLinux では proc とはどのようなファイル システムですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









Centosとubuntuの重要な違いは次のとおりです。起源(CentosはRed Hat、for Enterprises、UbuntuはDebianに由来します。個人用のDebianに由来します)、パッケージ管理(CentosはYumを使用し、安定性に焦点を当てます。チュートリアルとドキュメント)、使用(Centosはサーバーに偏っています。Ubuntuはサーバーやデスクトップに適しています)、その他の違いにはインストールのシンプルさが含まれます(Centos is Thin)

Centosのインストール手順:ISO画像をダウンロードし、起動可能なメディアを燃やします。起動してインストールソースを選択します。言語とキーボードのレイアウトを選択します。ネットワークを構成します。ハードディスクをパーティション化します。システムクロックを設定します。ルートユーザーを作成します。ソフトウェアパッケージを選択します。インストールを開始します。インストールが完了した後、ハードディスクから再起動して起動します。

Centosは、上流の分布であるRhel 8が閉鎖されたため、2024年に閉鎖されます。このシャットダウンはCentos 8システムに影響を与え、更新を継続し続けることができません。ユーザーは移行を計画する必要があり、提案されたオプションには、Centos Stream、Almalinux、およびRocky Linuxが含まれ、システムを安全で安定させます。

DockerはLinuxカーネル機能を使用して、効率的で孤立したアプリケーションランニング環境を提供します。その作業原則は次のとおりです。1。ミラーは、アプリケーションを実行するために必要なすべてを含む読み取り専用テンプレートとして使用されます。 2。ユニオンファイルシステム(UnionFS)は、違いを保存するだけで、スペースを節約し、高速化する複数のファイルシステムをスタックします。 3.デーモンはミラーとコンテナを管理し、クライアントはそれらをインタラクションに使用します。 4。名前空間とcgroupsは、コンテナの分離とリソースの制限を実装します。 5.複数のネットワークモードは、コンテナの相互接続をサポートします。これらのコア概念を理解することによってのみ、Dockerをよりよく利用できます。

Centosは廃止されました、代替品には次のものが含まれます。1。RockyLinux(最高の互換性)。 2。アルマリン(Centosと互換性); 3。Ubuntuサーバー(設定が必要); 4。RedHat Enterprise Linux(コマーシャルバージョン、有料ライセンス); 5。OracleLinux(CentosとRhelと互換性があります)。移行する場合、考慮事項は次のとおりです。互換性、可用性、サポート、コスト、およびコミュニティサポート。

CentOSが停止した後、ユーザーは次の手段を採用して対処できます。Almalinux、Rocky Linux、Centosストリームなどの互換性のある分布を選択します。商業分布に移行する:Red Hat Enterprise Linux、Oracle Linuxなど。 Centos 9ストリームへのアップグレード:ローリングディストリビューション、最新のテクノロジーを提供します。 Ubuntu、Debianなど、他のLinuxディストリビューションを選択します。コンテナ、仮想マシン、クラウドプラットフォームなどの他のオプションを評価します。

Dockerデスクトップの使用方法は? Dockerデスクトップは、ローカルマシンでDockerコンテナを実行するためのツールです。使用する手順には次のものがあります。1。Dockerデスクトップをインストールします。 2。Dockerデスクトップを開始します。 3。Docker Imageを作成します(DockerFileを使用); 4. Docker画像をビルド(Docker Buildを使用); 5。Dockerコンテナを実行します(Docker Runを使用)。

CentOSハードディスクマウントは、次の手順に分割されます。ハードディスクデバイス名(/dev/sdx)を決定します。マウントポイントを作成します( /mnt /newdiskを使用することをお勧めします);マウントコマンド(Mount /dev /sdx1 /mnt /newdisk)を実行します。 /etc /fstabファイルを編集して、永続的なマウント構成を追加します。 Umountコマンドを使用して、デバイスをアンインストールして、プロセスがデバイスを使用しないことを確認します。
