ホームページ  >  記事  >  システムチュートリアル  >  システムプロセス:運用保守担当者が知っておくべき10の知識ポイント

システムプロセス:運用保守担当者が知っておくべき10の知識ポイント

WBOY
WBOY転載
2024-01-05 17:24:201140ブラウズ
###導入### 日常の運用保守作業において、習慣的に ps コマンドを実行すると、「奇妙な」プロセスが多数表示されますが、これらのプロセスのほとんどはシステムのカーネル プロセスです。多くの学生はオペレーティング システム プロセスについてほとんど知りません。そのため、今日は初心者向けのシステム プロセス紹介記事を作成し、皆さんがオペレーティング システム プロセスを理解できるようにしたいと考えています。

日常の運用保守作業において、習慣的に ps コマンドを実行すると、多くの「奇妙な」プロセスが表示されますが、これらのプロセスのほとんどはシステムのカーネル プロセスです。多くの学生はオペレーティング システム プロセスについてほとんど知りません。そのため、今日は初心者向けのシステム プロセス紹介記事を作成し、皆さんがオペレーティング システム プロセスを理解できるようにしたいと考えています。
システムプロセス:運用保守担当者が知っておくべき10の知識ポイント

###序文### 日常の運用および保守作業では、比較的多くのリソースを占有する奇妙なシステム プロセスがよく見られます。そして、ビジネス部門の学生が「xxx とは何のプロセスですか? なぜこれほど多くのプロセスが公開されているのですか?」という質問をよく聞きます。 これらのシステム レベルのカーネル プロセスは角括弧で囲まれており、いくつかのシステム補助機能 (ディスクへのキャッシュの書き込みなど) を実行します。角括弧のないプロセスは、ユーザーによって実行されるプロセス (php、nginx など) です。

以下に示すように:

ここでは、誰にとっても共通の 10 のシステム プロセスを示します:
kswapd0システムプロセス:運用保守担当者が知っておくべき10の知識ポイント クジャーナル
pdflush
kスレッド
移行
ウォッチドッグ
イベント
kblockd
aio
rpciod

kswapd0

システムは、メモリが不足しているかどうかを確認するために一定時間ごとに kswapd を起動します。そうでない場合は、スリープ状態になります。kswapd には、pages_hige と Pages_low という 2 つのしきい値があります。空きメモリ ページの数が少なくなると、システムは kswapd を起動します。時間がpages_low時間より短い場合、kswapdプロセスはメモリをスキャンし、空きページ数がpages_highに達するまで毎回32の空きページを解放します。 Linux は、最近アクセスされたページがメモリ内に保持され、アクティブでないページがディスクにページアウトされるように、仮想メモリ管理に kswapd を使用します。(ページとは何ですか?)…Linux はメモリをページと呼ばれる単位で管理します。 、kswapd プロセスは、参照されていないページの年齢を定期的に減らします…そして最後に、それらはディスク

にページアウト (移動) されます。

kジャーナル

journal: すべてのファイル システムでメタデータの変更を記録します。最も遅いモードです。 すべてのファイル システム データとメタデータの変更をログに記録します。3 つの ext3 ジャーナリング モードの中で最も遅いこのジャーナリング モードは、ext3 ファイル システム内のファイルに加えた変更が失われる可能性を最小限に抑えます。

ORDERD: デフォルト モードでは、ファイル システム変更のメタデータのみが記録され、変更前のログが記録されます。

ファイル システム メタデータへの変更のみをログに記録しますが、関連するファイル システム メタデータを変更する前に、ファイル データの更新をディスクにフラッシュします。これは、デフォルトの ext3 ジャーナリング モードです。

writeback: 最速のモード。これも変更されたメタデータのみを記録し、標準のファイル システム書き込みプロセスに依存してデータをハードディスクに書き込みます

ファイル システムのメタデータへの変更のみをログに記録しますが、ファイル データの変更をディスクに書き込むには標準のファイル システム書き込みプロセスに依存します。これは最速の ext3 ジャーナリング モードです。

pdfラッシュ

pdflush は、メモリ内のコンテンツをファイル システムと同期するために使用されます。 たとえば、ファイルがメモリ内で変更されると、pdflush はそのファイルをハードディスクに書き戻す役割を果たします。メモリ内のダーティ ページの数が 10% を超えると、pdflush はこれらのページをハード ディスクにバックアップします。この比率は調整可能で、デフォルト値は /etc/sysctl.conf の vm.dirty_background_ratio 項目によって 10 です。

kスレッド

このようなカーネル スレッドは 1 つだけあり、その役割は他のカーネル スレッドを管理し、スケジュールすることです。 これはカーネルの初期化時に作成され、ループ内で kthreadd と呼ばれる関数を実行します。この関数の機能は、kthread_create_list グローバル リンク リストに保持されている kthread を実行することです。 kthread_create を呼び出して kthread を作成すると、それが kthread_create_list リンク リストに追加され、同時に kthread_create は kthreadd_task を強化します。 kthreadd が kthread を実行すると、古いインターフェイスが呼び出されます。kernel_thread は、作成された kthread を実行するために「kthread」という名前のカーネル スレッドを実行します。実行された kthread は kthread_create_list リストから削除され、kthreadd は継続的にスケジューラを呼び出して CPU を放棄します。このスレッドは閉じることができません。

移行

この種のカーネル スレッドは、migration/0 から migration/31 まで 32 個あります。各プロセッサ コアは、マイグレーション カーネル スレッドに対応します。その主な機能は、対応する CPU コアのマイグレーション プロセスとして機能することであり、次の目的で使用されます。プロセス移行操作を実行します。カーネルの関数は、migration_thread() です。 2.6 カーネルの負荷分散システムに属し、システム起動時に自動的にロードされ (各 CPU に 1 つ)、SCHED_FIFO のリアルタイム プロセスとして設定され、待機中のリクエストがあるかどうかを確認します。そうでない場合は、起動されて再度チェックされるまで、TASK_INTERRUPTIBLE でスリープ状態になります。 migration_thread() は、CPU バインディングおよび CPU 電源管理機能のための単なるインターフェイスです。このスレッドは、スケジュール システムの重要な部分です。

番犬

watchdog/0 から watchdog/31 まで、合計 32 のカーネル スレッドがあります。各プロセッサ コアは、watchdog カーネル スレッドに対応します。watchdog は、システムの動作を監視し、システムに障害が発生した場合にシステムを自動的に再起動するために使用されます。カーネル ウォッチドッグ モジュールとユーザー空間のウォッチドッグ プログラムが含まれます。

Linux カーネルでは、ウォッチドッグの基本的な動作原理は次のとおりです。ウォッチドッグの開始時 (つまり、/dev/watchdog デバイスが開いた後)、/dev/watchdog が一定の設定時間間隔内に存在しない場合 ( 1 分) 書き込み操作が実行されると、ハードウェア ウォッチドッグ回路またはソフトウェア タイマーがシステムを再起動し、書き込み操作ごとにタイマーがリセットされます。

イベント

このようなカーネル スレッドは events/0 から events/31 まで 32 個あり、各プロセッサ コアはイベント カーネル スレッドに対応します。カーネル イベントの処理に使用されます。多くのソフトウェアおよびハードウェア イベント (停電、ファイル変更など) がイベントに変換され、対応するイベントに関心のあるスレッドに配布されて応答します。

kblockd

このようなカーネル スレッドは kblockd/0 から kblockd/31 まで 32 個あり、各プロセッサ コアは kblockd カーネル スレッドに対応します。システム ブロック デバイスの管理に使用され、システム内のブロック デバイス ドライバーを定期的にアクティブ化します。ブロックデバイスを所有している場合、これらのスレッドは削除できません。

aio

このようなカーネル スレッドは、aio/0 から aio/31 まで 32 個あります。各プロセッサ コアは、ユーザー プロセスの代わりに I/O を管理する aio カーネル スレッドに対応し、ユーザー モード AIO (非同期 I/O) をサポートします。 ).O)、閉じてはいけません。

rpciod

この種のカーネル スレッドは、rpciod/0 から rpciod/31 まで 32 個あります。各プロセッサ コアは、1 つの rpciod カーネル スレッドに対応します。その主な機能は、リモート プロシージャ コール サービスのデーモンとして機能し、開始するために使用されます。クライアントからの I. /O サービス。通常、NFS サービスを開始するときに使用されます。

要約

プロセスはオペレーティング システムにおいて非常に重要な概念であり、システム上で実行されるすべてのデータはプロセスの種類に存在します。 Linux システムでは、イベントがトリガーされると、システムはそれをプロセスとして定義するため、プロセスが Linux プログラムを実装する唯一の方法です。

以上がシステムプロセス:運用保守担当者が知っておくべき10の知識ポイントの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はlinuxprobe.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。