Linuxでの監視コマンド:ps、du、top、df、無料詳細解説

トップコマンド

top コマンドは、Linux で一般的に使用されるパフォーマンス分析ツールです. システム内の各プロセスのリソース占有状況をリアルタイムで表示できます. 一般的なシステム リソースによって引き起こされたクラッシュは、top を使用して各プロセスをリアルタイムで監視し、出力できます.特定のプロセスが偽であるかどうかを分析するために、ログ ファイルに解放されます… …

トップ情報説明


これは、前回の記事の top コマンドのスクリーンショットです. Linux システムでメモリを表示する方法: 記事の 4 番目の top コマンド. 以下、図中の情報を行ごとに説明します。

1 行目: タスク キュー情報、uptime コマンドの実行結果と同じ
16:29:14: 現在のシステム時刻が
アップしています 4min: システムが 4 分間実行されています
3 user: 現在 3 人のユーザーがログインしていますシステム
負荷平均: 0.01、0.06、0.03 : 1 分、5 分、15 分の負荷平均

2 行目: Tasks タスク (プロセス) 情報
. 実行中のプロセスが 2 つ、休止状態のプロセスが 81 つ、停止 (stopped) 状態のプロセスが 0 つ、ゾンビ (ゾンビ) 状態のプロセスが 1 つ、合計 128 個のプロセスがあります。

3 行目: CPU ステータス情報
us: ユーザー空間が占有する CPU の割合
sy: カーネル空間が占有する CPU のパーセンテージ
ni: 優先順位を変更するプロセスが占有する CPU のパーセンテージ
id: アイドル状態の CPU のパーセンテージ
wa: I/O 待機にのみ使用される CPU のパーセンテージhi: パーセンテージハードウェアが占有する CPU の割合
IRQ割合 st: 仮想マシンが占有する CPU の割合

4行目: メモリステータス
total: 物理メモリの総量
used: 使用中のメモリの総量
free: 空きメモリの合計量
buffers: バッファリングされたメモリの量

5 行目: swap パーティション情報
total: swap パーティションの総
使用量: swap 領域の総使用量
free: スワップ領域の総空き容量
cached: キャッシュされたメモリの量

6 行目: 空行

7行目:
各プロセス(タスク)の与えられた状態監視PID(Process ID):プロセス識別番号。
USER: プロセス所有者のユーザー名。
PR: プロセスの優先度。
NI: プロセスの優先度の値。
VIRT: プロセスが占有する仮想メモリの値。
RES: プロセスが占有する物理メモリの値。
SHR: プロセスが使用する共有メモリの値。
S: プロセスの状態。S は休止状態、R は実行中、Z は停止状態、N はプロセスの優先度値が負であることを意味します。
%CPU: プロセスが占有する CPU 使用率。
%MEM: プロセスが占有する物理メモリと合計メモリのパーセンテージ。
TIME+: プロセスの開始後にプロセスが占有した合計 CPU 時間。
コマンド: プロセスを開始するための起動コマンドの名前. この行が表示されない場合、プロセスには完全なコマンドラインがあります.

一番上のパラメータは

トップ [-d 番号] | トップ [-bnp]

-a #使用メモリに従ってプロセスをソートします
-b #バッチ モードでプロセス情報を表示します。出力結果は、-n で設定されたしきい値まで、他のプログラムに渡すか、-n で使用してファイルに書き込むことができます
-c # コマンド名だけでなく、プロセスのコマンド パス全体を表示する
-d # number は秒数を表し、top コマンドで表示されるページが 1 回更新される間隔を示します。デフォルトは 5 秒です。
-H # これを指定すると、各スレッドのステータスが表示されます。それ以外の場合は、プロセス全体のステータスになります
-i # アイドルまたはデッド プロセスのステータスを表示しません  
-n # top 出力情報が更新され、完了後に top コマンドが終了する回数
-p # 指定したプロセス情報を表示

在top命令显示的页面还可以输入以下按键执行相应的功能(注意大小写区分的):
?(h): top に入力できるコマンドを表示
P: CPU 使用リソース順表示
M: メモリ使用リソース順表示
N: pid 順表示
T: CPU 使用時間累積順表示プロセス
k: 特定の pid にシグナルを送信します。プロセスを強制終了するために使用できます
r: 特定の pid のナイス値 (優先度) を再カスタマイズします
q: top を終了します (ctrl+c で top を終了することもできます)


!!!
top: プロセス情報を表示するtop
-n 1: 1 秒表示し、表示の更新を停止する
top -d 3: 更新時間が 3 秒であることを示す
top -p PID: プロセス番号を表示するas PID プロセス情報
top -u userName: ユーザー userName のプロセス情報を表示

top命令是一个功能十分强大的监控系统的工具,对于系统管理员而言尤其重要。但是,它的缺点是会消耗很多系统资源。
使用top命令可以监视指定用户,缺省情况是监视所有用户的进程。如果想查看指定用户的情况,在终端中按“U”键,然后输入用户名,系统就会切换为指定用户的进程运行界面。

ps コマンド

ps コマンドは最も基本的なプロセス表示コマンドです。形式は次のとおりです。man ps [options]ps コマンドを実行してドキュメントを表示すると、ps を使用して実行中のプロセスを確認したり、プロセスの実行ステータスを確認したりできます。プロセスが終了したかどうか、プロセスにゾンビがいないかどうか、どのプロセスがリソースを大量に消費しているかなど。
次のことに注意してください。ps是显示瞬间进程的状态,并不动态连续,如果想对进程进行实时监控应该用top命令。

ps情報解説

例として ps -aux を取り上げます (写真は YoungerChina から引用されています)。
ここに画像の説明を挿入

# USER:表示该进程属于哪个用户
# PID:进程id
# %CPU:该进程占用CPU资源的百分比
# %MEM:该进程占用内存的百分比
# VSZ:该进程使用掉的虚拟内存量 (Kbytes)
# RSS:该进程占用的固定的内存量 (Kbytes)
# TTY:该进程是在那个终端机上面运行,若与终端机无关,则显示?,另外,tty1-tty6 是本机上面的登入者程序,若为 pts/0 等等的,则表示为由网络连接进主机的程序。
# STAT:代表该进程目前的状态,主要的状态有:
   R:该进程正在运行
   S:该进程正在休眠,但可被某些信号(signal)唤醒
   D:无法中断的休眠状态(通常为IO进程)
   T:该进程已经停止
   Z:僵死状态,该进程应该已经终止,但是其父进程却无法正常的终止它,造成zombie(疆尸)程序的状态
   W:等待状态,等待内存的分配
    <:高优先级的进程
# N:低优先级的进程
# START:该进程被触发启动的时间
# COMMAND:该进程的实际指令

ps パラメータが使用されます

ps パラメーターの組み合わせにはさまざまな種類がありますが、一般的に使用されるものは次のとおりです。

  • -a: 他のユーザーのプロセス情報を含む、現在のターミナルの下にあるすべてのプロセス情報を表示します。システム内のすべてのプロセスに関する情報を表示するには、x オプションと組み合わせて使用​​します。
  • -x: 現在のユーザーのプロセス情報をすべての端末で表示します。
  • -u: 現在のユーザーのプロセス状況を表示します
  • -e: システム内のすべてのプロセス情報を表示します。-A オプションと同じ機能です。
  • -f: 完全 (完全) 形式を使用してプロセス情報を表示します。コマンド引数も出力され、-L と共に使用すると、NLWP (スレッド数) および LWP (スレッド ID) 列が追加されます。
  • -f: プロセス階層ツリー構造を ASCII 文字で表示します。
  • -j: BSD スタイルの制御形式の出力プロセス情報。
  • -L: LWP (スレッド ID) 列と NLWP (スレッド番号) を含むスレッド情報を表示します。

一般的な組み合わせ:

# ps -aux:查看系统所有进程
//ps -aux默认是无序的,可以通过--sort命令来排序
# ps -aux --sort -pcpu|less -N     #按照cpu占用来排序
# ps -aux --sort -pmem|less -N     #按照内存占用来排序
# ps -aux | grep debug             #查看指定进程(此为查看名为debug的进程)
# ps -l                            #查看当前用户的进程
# ps -axjf                         #以进程树结构显示过程
# ps -efL                          #获取有关线程的信息

一般的な使用シナリオ 1: コンピューター内の特定のプロセスを見つけ、kill コマンドを使用してプロセスを終了する
①ps および grep コマンドを使用して、該当するプログラムのプロセス番号を調べます。たとえば、tail: ps のプロセス番号を確認します。 -ef |grep " tail"
② プロセス番号を調べ、kill -9 プロセス番号コマンドでプロセスを終了します。
一般的な使用例 2: 特定のプログラムが有効になっているかどうかを判断するために使用: ps -ef |grep "しっぽ"

デュと DF

du は、次の形式を使用して、各ファイルとディレクトリが使用するディスク容量を表示します: du [オプション] [ファイル]

-a或-all  列出所you的文件与目录容量,因为默认仅统计目录下面的文件量  
-b或-bytes  显示目录或文件大小时,以byte为单位。   
-c或--total  除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和。
-k或--kilobytes  以KB(1024bytes)为单位输出。
-m或--megabytes  以MB为单位输出。   
-s或--summarize  仅显示总量,只列出最后加总的值,而不列出每个个别的目录占用容量。
-S或--separate-dirs   不包括子目录下的总计,与 -s 有点差别
-h或--human-readable  以K,M,G为单位,提高信息的可读性。
-x或--one-file-xystem  以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。
-L<符号链接>--dereference<符号链接> 显示选项中所指定符号链接的源文件大小。   
-X<文件>--exclude-from=<文件><文件>指定目录或文件。   
--exclude=<目录或文件>         略过指定的目录或文件。    
-D或--dereference-args   显示指定符号链接的源文件大小。   
-H或--si  与-h参数相同,但是K,M,G是以1000为换算单位。   
-l或--count-links   重复计算硬件链接的文件。   

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

df は、次の形式を使用して、ディスク パーティションで使用可能なディスク容量を表示します: df [オプション] [ファイル]

指定したディスク ファイルの空き容量を表示します。ファイル名が指定されていない場合、現在マウントされているすべてのファイルシステムの空き容量が表示されますデフォルトでは、環境変数 POSIXLY_CORRECT が指定されていない場合、ディスク容量は 1KB 単位で表示されます。この場合、512 バイト単位で表示されます。

-a 列出所有的文件系统,包括系统特有的 /proc 等文件系统
-k 以 KBytes 的容量显示各文件系统。命令 df -k 同命令 df
-m 以 MBytes 的容量显示各文件系统
-h 以人们较易阅读的 GBytes、MBytes、KBytes 等格式自行显示
-H 等于“-h”,但是计算式,1K=1000,而不是1K=1024
-i 不用磁盘容量,而以 inode 的数量来显示
-l 只显示本地文件系统。命令 df -l 同命令 df
-T  连同该磁盘分区的文件系统名称(例如 xfs)也列出
--block-size=<区块大小> 指定区块大小
-t <文件系统类型> 只显示选定文件系统的磁盘信息
-x <文件系统类型> 不显示选定文件系统的磁盘信息

duとdfの違い
du は、ファイルを検索して各ファイルのサイズを計算し、それらを累積します. du によって計算されたファイルは、現在存在し、削除されています. また、df はファイル システムを使用して、スペースのサイズに関する情報をすばやく取得します. ファイルを削除すると、ファイルはファイル システムですぐに消えるのではなく、一時的に消えます. ルールは削除されたファイルを解放し、df はサイズを計算しますファイルシステムから取得したファイルの。厳密に言えば、df の計算は du の計算よりも正確です。ファイル システムもファイルを削除すると判断した場合、du と df は一致します。

上記引用 JMW1407

フリーコマンド

free コマンドは、物理メモリ、仮想スワップ ファイル メモリ、共有メモリ セグメント、システム コアによって使用されるバッファなどを含むメモリ使用量を表示します。使用形式は次のとおりです。free [-bkmhotV][-s <间隔秒数>]

コマンド パラメータ

-b  以Byte为单位显示内存使用情况。
-k  以KB为单位显示内存使用情况。
-m  以MB为单位显示内存使用情况。
-h  以合适的单位显示内存使用情况,最大为三位数,自动计算对应的单位值。单位有:
	B = bytes
	K = kilos
	M = megas
	G = gigas
	T = teras
	
-o  不显示缓冲区调节列。
-s<间隔秒数>  持续观察内存使用状况。
-t  显示内存总和列。
-V  显示版本信息。

パラメータの意味

ここに画像の説明を挿入


Mem行(单位均为M):
    total   系统总的可用物理内存大小
    
    used    已被使用的物理内存大小
    
    free    还有多少物理内存可用
    
    shared  被共享使用的物理内存大小
    
    buff/cache  被 buffer 和 cache 使用的物理内存大小
    
    available   还可以被 应用程序 使用的物理内存大小
    
   (-/+ buffers/cache)行:
		(-buffers/cache): 真正使用的内存数,指的是第一部分的 used - buffers - cached
		(+buffers/cache): 可用的内存数,指的是第一部分的 free + buffers + cached

Swap行指交换分区		



この記事は統合です。間違っている場合は訂正してください。
参考一覧:
https://blog.csdn.net/daboluo521/article/details/79507194
https://blog.csdn.net/JMW1407/article/details/107902100

おすすめ

転載: blog.csdn.net/qq_44333320/article/details/128795878