Linux进程资源监控命令

目录

一、进程实时监控pidstat工具

1、pidstat 概述

2、pidstat 安装

3、实例讲解

二、Linux 系统管理命令(资源监控)

1、进程资源监测命令


一、进程实时监控pidstat工具

1、pidstat 概述

      pidstat是sysstat工具的一个命令,用于监控全部或指定进程的cpu、内存、线程、设备IO等系统资源的占用情况。pidstat首次运行时显示自系统启动开始的各项统计信息,之后运行pidstat将显示自上次运行该命令以后的统计信息。用户可以通过指定统计的次数和时间来获得所需的统计信息。

2、pidstat 安装

      pidstat 是sysstat软件套件的一部分,sysstat包含很多监控linux系统状态的工具,它能够从大多数linux发行版的软件源中获得。

  • 在Debian/Ubuntu系统中可以使用下面的命令来安装:
    apt-get install sysstat
  • CentOS/Fedora/RHEL版本的linux中则使用下面的命令:
    yum install sysstat

3、实例讲解

3.1 默认参数

执行pidstat,将输出系统启动后所有活动进程的cpu统计信息:

pidstat命令输出进程的CPU占用率,该命令会持续输出,并且不会覆盖之前的数据,可以方便观察系统动态。如上的输出,可以看见2个CPU核心的运算资源的占用情况。

3.2 指定采样周期和采样次数

pidstat命令指定采样周期和采样次数,命令形式为”pidstat [option] interval [count]”,以下pidstat输出以2秒为采样周期,输出10次cpu使用统计信息:

pidstat 2 10

3.3 cpu使用情况统计(-u)

使用-u选项,pidstat将显示各活动进程的cpu使用统计,执行”pidstat -u”与单独执行”pidstat”的效果一样。

3.4 内存使用情况统计(-r)

使用-r选项,pidstat将显示各活动进程的内存使用统计:

以上各列输出的含义如下:

minflt/s: 每秒次缺页错误次数(minor page faults),次缺页错误次数意即虚拟内存地址映射成物理内存地址产生的page fault次数

majflt/s: 每秒主缺页错误次数(major page faults),当虚拟内存地址映射成物理内存地址时,相应的page在swap中,这样的page fault为major page fault,一般在内存使用紧张时产生

VSZ:      该进程使用的虚拟内存(以kB为单位)

RSS:      该进程使用的物理内存(以kB为单位)

%MEM:     该进程使用内存的百分比

Command:  拉起进程对应的命令

3.5 IO情况统计(-d)

使用-d选项,我们可以查看进程IO的统计信息:

输出信息含义:

kB_rd/s: 每秒进程从磁盘读取的数据量(以kB为单位)

kB_wr/s: 每秒进程向磁盘写的数据量(以kB为单位)

Command: 拉起进程对应的命令

3.6 针对特定进程统计(-p)

使用-p选项,我们可以查看特定进程的系统资源使用情况

3.7 pidstat常用命令

使用pidstat进行问题定位时,以下命令常被用到:

pidstat -u 1

pidstat -r 1

pidstat -d 1

以上命令以1秒为信息采集周期,分别获取cpu、内存和磁盘IO的统计信息。

 

二、Linux 系统管理命令(资源监控)

1、进程资源监测命令

1.1 ps 指令

(英文全拼:process status)命令用于显示当前进程的状态,类似于 windows 的任务管理器。Linux系统中ps命令支持3种不同类型的命令行参数,:

  1. Unix风格,前面加单破折线
  2. BSD风格,前面不加破折线
  3. GNU风格的长参数,前面加双破折线
  4. 参数说明

命令参数:

a  显示所有进程

-a 显示同一终端下的所有程序

-A 显示所有进程

c  显示进程的真实名称

-N 反向选择

-e 等于“-A”

e  显示环境变量

f  显示程序间的关系

-H 显示树状结构

r  显示当前终端的进程

T  显示当前终端的所有程序

u  指定用户的所有进程

-au 显示较详细的资讯

-aux 显示所有包含其他使用者的行程

-C<命令> 列出指定命令的状况

--lines<行数> 每页显示的行数

--width<字符数> 每页显示的字符数

--help 显示帮助信息

--version 显示版本显示

2. pstree

     命令是用于查看进程树之间的关系,即哪个进程是父进程,哪个是子进程,可以清楚的看出来是谁创建了谁。

pstree -p work | grep ad

work为工作用户,-p为显示进程识别码,Chrome共启动了以下进程信息:

ps –Lf

3. linux上进程有5种状态:

  1. 运行(正在运行或在运行队列中等待)
  2. 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号)
  3. 不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生)
  4. 僵死(进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放)
  5. 停止(进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行)

 

ps工具标识进程的5种状态码:

  1. D 不可中断 uninterruptible sleep (usually IO)
  2. R 运行 runnable (on run queue)
  3. S 中断 sleeping
  4. T 停止 traced or stopped
  5. Z 僵死 a defunct (”zombie”) process

 

4). 常用命令组合

ps –A  显示所有进程信息

ps –ef  显示所有进程信息,连同命令行

 

1.2 top 指令

         ps命令虽然在收集运行在系统的上的进程信息非常有用,但也有不足之处:他只能收集特定时间点的信息,但是对于那么频繁变更状态的进程信息查看就不是很方便了。而top命令刚好适应于这种情况。

以下为对top命令输出信息的描述:

1)第一行,任务队列信息,同 uptime 命令的执行结果

系统时间:14:22:59

运行时间:up 23 min,

当前登录用户:  2 user

负载均衡(uptime)  load average: 0.00, 0.04, 0.11

     average后面的三个数分别是1分钟、5分钟、15分钟的负载情况。

load average数据是每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了

 

2)Tasks — 任务(进程)

总进程:223 total, 运行:1 running, 休眠:222 sleeping, 停止: 0 stopped, 僵尸进程: 0 zombie

 

3)CPU状态信息

0.0%us【user space】— 用户空间占用CPU的百分比。

12.5%sy【sysctl】— 内核空间占用CPU的百分比。

0.0%ni【】— 改变过优先级的进程占用CPU的百分比

87.5%id【idolt】— 空闲CPU百分比

0.0%wa【wait】— IO等待占用CPU的百分比

0.0%hi【Hardware IRQ】— 硬中断占用CPU的百分比

0.0%si【Software Interrupts】— 软中断占用CPU的百分比

 

  1. 内存状态

1863104 total,   901972 used,   132236 free,    828896 buffers【缓存的内存量】

 

5)swap交换分区

2097148 total,      0 used,  2097148 free,   751260 avail【缓冲的交换区总量】

 

6)各个进程的状态监控

PID — 进程id

USER — 进程所有者

PR — 进程优先级

NI — nice值。负值表示高优先级,正值表示低优先级

VIRT — 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES

RES — 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA

SHR — 共享内存大小,单位kb

S —进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程

%CPU — 上次更新到现在的CPU时间占用百分比

%MEM — 进程使用的物理内存百分比

TIME+ — 进程使用的CPU时间总计,单位1/100秒

COMMAND — 进程名称(命令名/命令行)

 

  1. 使用说明

使用格式:

top [-] [d] [p] [q] [c] [C] [S] [s] [n]

 

参数说明:

d:指定每两次屏幕信息刷新之间的时间间隔。当然用户可以使用s交互命令来改变之。

p: 通过指定监控进程ID来仅仅监控某个进程的状态。

q: 该选项将使top没有任何延迟的进行刷新。如果调用程序有超级用户权限,那么top将以尽可能高的优先级运行。

S:指定累计模式。

s:使top命令在安全模式中运行。这将去除交互命令所带来的潜在危险。

i:使top不显示任何闲置或者僵死进程。

c: 显示整个命令行而不只是显示命令名。

 

常用:top –p pid

top

 

 

 

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值