Linuxでプロセスが何をしているかを確認する方法

百草
リリース: 2023-07-11 13:19:32
オリジナル
4690 人が閲覧しました

Linux でプロセスの動作を確認する方法: 1. ps コマンド (現在のユーザーのすべてのプロセスを一覧表示できます); 2. top コマンド (システムのプロセスのステータスをリアルタイムで表示できます); 3. top バージョンを改良し、より対話的な機能を提供できる htop コマンド、4. プロセス間の関係をツリー構造で表示できる pstree コマンド、5. 開いているファイルとネットワーク接続を表示できる lsof コマンド現在のシステム。

Linuxでプロセスが何をしているかを確認する方法

この記事の動作環境: Linux 5.18.14 システム、DELL G3 コンピューター。

1. Linux システムでは、次のコマンドを使用して、実行中のプロセスを詳細に表示できます:

1. ps コマンド: ps コマンドは、すべてのプロセスを一覧表示できます。現在のユーザーのプロセス。一般的に使用されるパラメータには、-a、-u、-x などが含まれます。たとえば、ps -aux コマンドを使用すると、プロセス ID、親プロセス ID、ユーザー、CPU 使用率、メモリ使用量などを含む、すべてのプロセスの詳細情報を一覧表示できます。

2. top コマンド: top コマンドは、システムのプロセス状態をリアルタイムに表示できます。プロセス リストは、対話型インターフェイスを介してリアルタイムで更新し、さまざまな方法で並べ替えることができます。 top -c コマンドを使用すると、プロセスの完全なコマンド ラインを表示できます。

3. htop コマンド: htop は、top の改良版で、よりインタラクティブな機能を提供し、マウスを使用して操作できます。 htop では、プロセスに関する詳細情報を表示することもできます。

4. pstree コマンド: pstree コマンドは、プロセス間の関係をツリー構造で表示できます。 pstree -p コマンドを使用すると、プロセスの PID を表示できます。

5. lsof コマンド: lsof コマンドは、現在のシステムで開いているファイルとネットワーク接続を表示できます。 -l パラメータを使用すると、プロセスの PID やプロセスのユーザーなど、プロセスに関する詳細情報が表示されます。

つまり、上記のコマンドは実行中のプロセスを表示するために使用でき、状況に応じて異なるコマンドが適しています。ニーズに応じて適切なコマンドを選択してください。

2. 各プロセスのステータスの意味

1. R: Running

は、プロセスが実行中、または許可キューで待機中であることを意味します。

2. S: 割り込み

プロセスがスリープしていることを示し、一定の条件が成立したり、シグナルを受信したりすると、割り込み状態から抜け出します。

3. D: Uninterruptible

プロセスがシステムの非同期信号に応答せず、kill コマンドを使用しても中断できないことを示します。

4. Z: Zombie

プロセスは終了したが、親プロセスが wait(4) システム関数を呼び出してプロセスを解放するまで、プロセス記述子はまだ存在していることを示します。

5. T: Stop

は、プロセスが停止信号を受信した後に実行を停止することを意味します。

3. ステータス

[root@mycentos ~]# ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.1 191120  3588 ?        Ss    2021  25:59 /usr/lib/systemd/systemd --system --deserialize 19
root         2  0.0  0.0      0     0 ?        S     2021   0:00 [kthreadd]
root         4  0.0  0.0      0     0 ?        S<    2021   0:00 [kworker/0:0H]
root         6  0.0  0.0      0     0 ?        S     2021   1:51 [ksoftirqd/0]
root         7  0.0  0.0      0     0 ?        S     2021   0:00 [migration/0]
root         8  0.0  0.0      0     0 ?        S     2021   0:00 [rcu_bh]
1、USER:进程的所有者
2、PID: 进程ID号
3、%CPU:运算器占用率
4、%MEM:内存占用率
5、VSZ: 虚拟内存使用量,单位KB
6、RSS: 占用的固定内存量,单位KB
7、TTY: 所在终端
8、STAT:进程状态
9、START: 进程被启动的时间
10、TIME: 实际使用CPU的时间
11、COMMEND: 命令名称和参数
ログイン後にコピー

4. top コマンドは、プロセス アクティビティとシステム負荷情報を動的に監視するために使用されます。

top コマンドは非常に強力で、システムの運用とメンテナンスのステータスを動的に表示できます。

Linuxでプロセスが何をしているかを確認する方法

1. top

[root@mycentos ~]# top
top - 13:45:38 up 267 days, 14:36,  1 user,  load average: 0.01, 0.06, 0.05
Tasks: 107 total,   1 running, 106 sleeping,   0 stopped,   0 zombie
%Cpu(s):  1.3 us,  1.3 sy,  0.0 ni, 97.3 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  1881820 total,    92160 free,   631276 used,  1158384 buff/cache
KiB Swap:        0 total,        0 free,        0 used.  1037740 avail Mem 
 
  PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND                                                                                               
20797 root      10 -10  148748  20952   6844 S  2.0  1.1 191:48.06 AliYunDun                                                                                             
 6728 redis     20   0  143200   2684   1268 S  0.3  0.1  17:55.69 redis-server                                                                                          
11156 rabbitmq  20   0 1820368  74484   2644 S  0.3  4.0 106:56.41 beam.smp                                                                                              
29954 polkitd   20   0   52812   2340    700 S  0.3  0.1  40:13.73 redis-server                                                                                          
    1 root      20   0  191120   3588   2044 S  0.0  0.2  26:00.01 systemd 
备注:
top 命令执行结果的前5行为系统整体的统计信息
1、第1行:系统时间、运行时间、登录终端数量、系统负载(3个数值分别表示:
    1分钟,5分钟,15分钟内的平均负载值,数值越小意味着负载越低)。
2、第2行:进程总数、运行中的进程数、睡眠中的进程数、停止的进程数、僵死的进程数。
3、第3行:用户占用资源百分比、系统内核占用资源百分比、改变过优先级的进程资源百分比、
    空闲的资源百分比。(这一行中的数据均为 cpu 数据并以百分比格式显示,
    比如:"97.3 id"表示有 97.3%的CPU处理器资源处于空闲)
4、第4行:物理内存总量、内存空闲量、内存使用量、作为内核缓存的内存量。
5、第5行:虚拟内存总量、虚拟内存空闲量、虚拟内存使用量、已被提前加载的内存量。
ログイン後にコピー

5. サービスのプロセス ID の表示

[root@mycentos ~]# pidof mysqld 
27748
 
 
备注:
pidof 服务名称
 
pidof 命令用于查询某个指定服务进程的PID 值。 每个进程的进程号(PID)是唯一的,
    因此可以通过PID来区分不同的进程。
ログイン後にコピー
の各行の意味

以上がLinuxでプロセスが何をしているかを確認する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート