Linuxシステム管理プロセス管理プロセスビュー(top、ps、pstreeコマンド)

序文

実行中のプログラム。システム内のプログラムは、プログラムがシステム内で実行できるようにするために1つ以上のプロセスを必要とします。したがって、プログラムが実行されている限り、1つ以上のプロセス(apacheのようなプログラムなど)が生成されます。
プロセス管理とは何ですか?プロセスを終了するだけですか?
分析なし
(1)サーバーのヘルスステータス(CPUとメモリの使用状況を確認)を80%以上確認します。どのプロセスがどのリソースを占有しているかを特定するには、人間の介入が必要です。MySQLが占有するリソースが多すぎる場合は、 mysqlへの圧力が非常に高いため、MySQLクエリの最適化を行う必要があります。プログラムに問題がある可能性があります。サーバーの負荷は比較的高いです。最適化を行っても、プロセスの負荷は非常に高いため、より優れたコンピューターの使用、メモリの追加、または作業のニーズを満たすためのサーバーのクラスターの構築が必要であることを示しています。通常のプロセスが占有するリソースが多い場合、それはコンピュータの容量が不十分であり、より優れたコンピュータが必要であることを意味します。
(2)不正なプロセス、不正なプロセス、使用頻度の低いプロセスのみであれば終了し、不正なプロセスと判断されたプログラムは直接終了することはできません。以前に見たことのないプロセスを見つけました。直接殺した場合、それが本当にウイルス、トロイの木馬である場合、しばらくしてから、または次回再起動したときに再起動します。正しいアプローチ:プロセスが何であるかを判断し、ウイルスとトロイの木馬の本体を見つけ、手動またはウイルス対策ソフトウェアを使用して完全に消去してから、そのようなプロセスを終了します。リソースを占有しているプロセスが通常のプロセスであるかどうかに関係なく、直接終了することはできません。
結論:
したがって、プロセスを強制終了するジョブは、実際にはプロセス管理 最も一般的に使用されるジョブではなく主にサーバーの状態を判断するためのものです。
(1)すべてのプロセスが適切に終了し、仮想マシンプロセスが直接強制終了されない場合、プログラムで直接閉じられます。プロセスを強制終了する必要があるのはいつですかプロセスの正常終了の手段が失敗した場合、今回はプロセスの強制終了を検討します。
(2) プロセス管理主なタスクは、サーバーの正常性を判断することです。
理想的な運用および保守エンジニア、理想的な状態では、サーバーはクラッシュせず、サービスはクラッシュしません。サーバーが準健全な状態であることを発見しました。人間の介入により、サーバーはクラッシュした状態から回復できます。運用および保守エンジニアが最も優れています。主な仕事は健康を判断することです。
(3)複数のサーバーを管理できる特別な監視サーバーを構築する必要あります。管理する方が便利ですし、もちろんプロセス管理コマンドよりも面倒です。正しいプロセスを強制終了すると、サーバーがクラッシュする可能性があります。サービスが必要ない場合でも、最初にそのプロセスを正しく終了する必要があります。servicehttpd stopは、サービスを停止します。サービスが有効にならない場合は、強制終了することを検討してください。

1.プロセスの概要

プロセスは実行中のプログラムまたはコマンドであり、各プロセスは実行中のエンティティであり、独自のアドレス空間を持ち、特定のシステムリソースを占有します。

2.プロセス管理の役割

サーバーの正常性状態を判断します(主に)
システムのすべてのプロセスを表示しますプロセスを
強制終了します

3.システム内のすべてのプロセスを表示します(ps)

コマンド: ps aux
オプションの役割: aフォアグラウンドプロセスを表示するxバックグラウンドプロセスを表示するuこのプロセスがユーザーによって生成されたことを示す
:BSDオペレーティングシステム形式
使用してシステム内のすべてのプロセスを表示するps aux(一般的な使用法)に慣れている

コマンド: ps -le(这个是unix的格式)
オプションの機能: -lはより詳細な情報を表示し、-eはすべてのプロセスを表示します
機能:Linux標準コマンド形式を使用してシステム内のすべてのプロセスを表示します
ここに画像の説明を挿入
。initプロセスは、Linuxの起動時に最初に呼び出されるプロセスです。彼は他のプロセスの親プロセスの
TTY列にありますか?これは、このプロセスが端末によって呼び出されるのではなく、カーネルによって直接生成されることを意味します。どの端末から来たのかわかりません。

3.1最初の行の意味

最初の行の内容 意味
ユーザー 誰がプロセスを引き起こしたか
PID プロセスのID
%CPU プロセスが占有するCPUリソースのパーセンテージ、占有率が高いほど、プロセスが消費するリソースが多くなります
%MEM プロセスが占有する物理メモリの割合、占有率が高いほど、プロセスが消費するリソースが多くなります
VSZ プロセスが占有する仮想メモリのサイズ(KB単位)
RSS プロセスによって占有されている実際の物理メモリ(KB)
TTY プロセスが実行されている端末では、tty1-tty7はローカルコンソール端末を表し、tty1-tty6はローカルキャラクターインターフェイス端末を表し、tty7はグラフィック端末です。pts / 0-255は仮想端末を表します
STAT プロセスのステータス。一般的な状態:R:実行中、S:スリープ中、T:停止中、s:子プロセスを含む、+:バックグラウンド
開始 プロセスの開始時間
時間 このプロセスはCPUの計算時間を占有します。これはシステム時間ではないことに注意してください。(TIMEが占める時間が長いほど、より多くのリソースが消費されます)
コマンド このプロセスを生成したコマンドの名前

4.システムヘルスステータスを表示する

コマンド:top [オプション]
オプション:
-d秒数:topコマンドを指定して、数秒ごとに更新します。デフォルトは3秒です
。topコマンドのインタラクティブモードで実行できるコマンド
:?またはh:インタラクティブモードのヘルプを表示します
。P:CPU使用率で並べ替えます。デフォルトはこの項目です
。M:メモリ使用量で
並べ替えます。N:PIDで並べ替えます
。q:トップを終了
ここに画像の説明を挿入
します。これはタスクマネージャーとよく似ています。タスクマネージャーは1秒ごとに管理され、Linuxは3秒ごとに更新されます。このコマンドの主な作業は、最初の5行です。システムが現在どのようなヘルスステータスにあるかを教えてください。サーバーが稼働している期間、およびサーバーが稼働している期間が長いほど、あなたが管理者として優れていることがわかります。topコマンドを実行してから、スクリーンショットを撮ります。太陽は一般的に300日以上です。

4.1 情報の最初の行はタスクキュー情報です

コンテンツ 説明
12:26:46 システムの現在時刻
1日まで、13:32 システムの稼働時間。マシンは1日、13時間、32分間稼働しています。
2ユーザー 2人のユーザーが現在ログインしています
負荷平均:0.00,0.00,0.00 システムの平均負荷は1分、5分、15分です。一般的に、1未満の場合、負荷は小さいです。1より大きい場合、システムが過負荷になっています

負荷圧力を判断する方法は?これは、CPUのコアの数に基づいています。CPUがシングルコアの場合、これは1を超えています。これ
、5分前にまだ非常にストレスがかかっていることを示しています。アナロジーとして、4コアまたは8コアの場合、8コアの場合、 8つ以上は過負荷と見なされます。
現在実行中のプログラムがないため、プレッシャーは比較的小さいです。

4.2 進捗情報の2行目

コンテンツ 説明
タスク:95合計 システム内のプロセスの総数
1ランニング 実行中のプロセスの数
94睡眠 睡眠過程
0を停止しました プロセスを停止しています
0ゾンビ ゾンビプロセス。0でない場合は、ゾンビプロセスを手動で確認する必要があります。

ゾンビプロセス:子プロセスのコードが実行された後、親プロセスがリソースを再利用するのを待っているプロセスは、ゾンビプロセスです。
ゾンビプロセス:このプロセスは終了していますが、完全には終了していません。ゾンビプロセスが1つまたは2つある場合は、最初に介入しないでください。サービスが停止していて、完全に停止する前にtopコマンドがそれをキャッチした可能性があります。しばらくすると、通常の状況ではこのゾンビプロセスが消えます。消えない場合は、プロセスの終了時にエラーが報告され、スタックし、正しく終了しなかったことを示しています。これは手動で判断する時間です。問題はありません。手動で終了する必要があります。

4.3 3行目のCPU情報

コンテンツ 説明
CPU:0.1%us ユーザーモードが占有しているCPUの割合
0.1%sy システムモードが占有しているCPUの割合
0.0%ni 優先順位が変更されたユーザープロセスによって占有されているCPUの割合
99.7%id アイドル状態のCPUのCPU使用率
0.1%wa 入出力を待機しているプロセスが使用しているCPUの割合
0.0%hi ハード割り込み要求サービスによって占有されているCPUの割合
0.1%と ソフト割り込み要求サービスによって占有されているCPUの割合
0.0%st st(スチール時間)仮想時間の割合。仮想マシンがある場合、仮想CPUが実際のCPUを待機する時間の割合

CPU情報は主にCPUのアイドルレートです。アイドルレートが非常に低い場合(20%未満など)、サーバーは高い圧力で実行されており、人間の介入が必要です。違法なプロセスがない場合は、メモリを追加するか、サーバーを購入してクラスターを構築する必要があります。アップ。

4.4 物理メモリ情報の4行目

コンテンツ 説明
メモリ:合計625344k 物理メモリの総量(KB)
571504k使用 使用されている物理メモリの量
53840k無料 空き物理メモリの量:仮想マシンを使用すると、合計628 MBのメモリが割り当てられるため、空きメモリは53 MBしかありません。
65800kバッファ バッファとして使用されるメモリの量

物理メモリの合計サイズ、使用済みの量、空き容量、バッファリング量

4.5 交換(スワップ)情報の5行目

コンテンツ 説明
スワップ:合計524280k スワップパーティションの合計サイズ(仮想メモリ)
0k使用 使用されたインタラクティブパーティションのサイズ
524280k無料 空きスワップパーティションのサイズ
409280kキャッシュ済み キャッシュとしてのスワップパーティションのサイズ

2G以下、それ以外の場合はハードディスク領域を浪費するだけです

4.6 小さな要約

先頭のコマンドの重要なポイントは、
1行目:負荷平均、
3行目: CPUのアイドル率、
4行目:メモリのアイドル状態です。
これらの3つのインジケーターが低すぎる場合は、サーバーの圧力が高すぎて人の介入が必要であることを示しています。 トップは健康状態を確認することです。
最初の5行の下の内容は、psの出力とよく似ています。デフォルトでは、CPU使用率のパーセンテージで並べ替えられます。Shift+ mを使用して、メモリ使用量で並べ替えます。一番上のコマンドまたはWindowsのタスクマネージャは、リソースを集中的に使用します。はい、見てください。大丈夫なときは常に開けないでください。

5.プロセスツリーを表示する

コマンド: pstree [选项]
オプション
:-p:プロセスのPIDを表示
-u:プロセスのユーザーを表示

ここに画像の説明を挿入

treeはディレクトリツリーを表示し、pstreeはプロセスツリーを表示します
。initはすべてのプロセスの親プロセスであり、基になるプロセスは親プロセスに依存します。

おすすめ

転載: blog.csdn.net/weixin_46818279/article/details/107977108