Linux:资源监控命令&工具

目录

一、mpstat命令

二、iostat命令

三、iotop命令

四、pidstat命令

五、lsof命令:显示打开文件

六、tcpdump命令

七、top命令(动态查看)


一、mpstat命令

mpstat    [-P {|ALL}]     [internal    [count]]

mpstat -P ALL 5 2
查看总的cpu和各个cpu使用率的变化情况

-P: 指定要监控哪个CPU,范围是[0 ~ n-1], ALL表示监控所有CPU都监控

internal: 相邻两次采样的间隔时间

count: 采样次数。

第一部分:输出首先显示了所有 CPU 的合计指标,然后显示了每个 CPU 各项的指标。

第二部分:在结尾处显示所有 CPU 的平均值。

各列的含义:

%user: 表示用户态所使用 CPU 的百分比。

%nice: 表示使用 nice 命令对进程进行降级时 CPU 的百分比。

%sys: 表示内核进程使用的 CPU 百分比。

%iowait: 表示等待进行 I/O 所使用的 CPU 时间百分比。

%irq: 表示用于处理系统中断的 CPU 百分比。

%soft: 表示用于软件中断的 CPU 百分比。

%steal:虚拟机强制CPU等待的时间百分比。

%guest: 虚拟机占用CPU时间的百分比。

%idle: CPU 的空闲时间的百分比。

 

二、iostat命令

磁盘IO监控

iostat -x -k 1

-x:展示磁盘的扩展信息

-k:以k为单位展示磁盘数据

1:每1秒刷新一次数据

unti:磁盘IO的使用率,单位%,反应磁盘的繁忙程度,上限100%

r/s:每秒读请求数

w/s:每秒写请求数

rkb:每秒写磁盘的字节数

wkb:每秒读磁盘的字节数

三、iotop命令

iotop 是一个类似 top 的工具,用来显示实时的磁盘活动。Linux下的IO统计工具如iostat,nmon等大多数是只能统计到per设备的读写情况。iotop 监控 Linux 内核输出的 I/O 使用信息,并且显示一个系统中进程或线程的当前 I/O 使用情况。它显示每个进程/线程读写 I/O 带宽。它同样显示当等待换入和等待 I/O 的线程/进程花费的时间的百分比。

-o:只显示有io操作的进程

-b:批量显示,无交互,主要用作记录到文件。

-n NUM:显示NUM次,主要用于非交互式模式。

-d SEC:间隔SEC秒显示一次。

-p PID:监控的进程pid。

-u USER:监控的进程用户。

四、pidstat命令

查看进程的state

pidstat -urdwt 5 3


u:cpu的使用率
r:内存的占用情况
d:磁盘I/O统计数据
w:上下文切换
-t:thread,输出线程的指标
-p 进程号:查看某个进程的state

五、lsof命令:显示打开文件

-a 列出打开文件存在的进程;

-c<进程名> 列出指定进程所打开的文件;

-g 列出GID号进程详情;

-d<文件号> 列出占用该文件号的进程;

+d<目录> 列出目录下被打开的文件;

+D<目录> 递归列出目录下被打开的文件;

-n<目录> 列出使用NFS的文件;

-i<条件> 列出符合条件的进程。(4、6、协议、:端口、 @ip )

-p<进程号> 列出指定进程号所打开的文件;

-u 列出UID号进程详情;

-h 显示帮助信息;

-v 显示版本信息。

六、tcpdump命令

Tcpdum是Linux上强大的网络数据采集分析工具

-A 以ASCII格式打印出所有分组,并将链路层的头最小化。

-c 在收到指定的数量的分组后,tcpdump就会停止。

-C 在将一个原始分组写入文件之前,检查文件当前的大小是否超过了参数file_size 中指定的大小。如果超过了指定大小,则关闭当前文件,然后在打开一个新的文件。参数 file_size 的单位是兆字节(是1,000,000字节,而不是1,048,576字节)。

-d 将匹配信息包的代码以人们能够理解的汇编格式给出。

-dd 将匹配信息包的代码以c语言程序段的格式给出。

-ddd 将匹配信息包的代码以十进制的形式给出。

-D 打印出系统中所有可以用tcpdump截包的网络接口。

-e 在输出行打印出数据链路层的头部信息。

-E 用spi@ipaddr algo:secret解密那些以addr作为地址,并且包含了安全参数索引值spi的IPsec ESP分组。

-f 将外部的Internet地址以数字的形式打印出来。

-F 从指定的文件中读取表达式,忽略命令行中给出的表达式。

-i 指定监听的网络接口。

-l 使标准输出变为缓冲行形式,可以把数据导出到文件。

-L 列出网络接口的已知数据链路。

-m 从文件module中导入SMI MIB模块定义。该参数可以被使用多次,以导入多个MIB模块。

-M 如果tcp报文中存在TCP-MD5选项,则需要用secret作为共享的验证码用于验证TCP-MD5选选项摘要(详情可参考RFC 2385)。

-b 在数据-链路层上选择协议,包括ip、arp、rarp、ipx都是这一层的。

-n 不把网络地址转换成名字。

-nn 不进行端口名称的转换。

-N 不输出主机名中的域名部分。例如,‘nic.ddn.mil‘只输出’nic‘。

-t 在输出的每一行不打印时间戳。

-O 不运行分组分组匹配(packet-matching)代码优化程序。

-P 不将网络接口设置成混杂模式。

-q 快速输出。只输出较少的协议信息。

-r 从指定的文件中读取包(这些包一般通过-w选项产生)。

-S 将tcp的序列号以绝对值形式输出,而不是相对值。

-s 从每个分组中读取最开始的snaplen个字节,而不是默认的68个字节。

-T 将监听到的包直接解释为指定的类型的报文,常见的类型有rpc远程过程调用)和snmp(简单网络管理协议;)。

-t 不在每一行中输出时间戳。

-tt 在每一行中输出非格式化的时间戳。

-ttt 输出本行和前面一行之间的时间差。

-tttt 在每一行中输出由date处理的默认格式的时间戳。

-u 输出未解码的NFS句柄。

-v 输出一个稍微详细的信息,例如在ip包中可以包括ttl和服务类型的信息。

-vv 输出详细的报文信息。

-w 直接将分组写入文件中,而不是不分析并打印出来。

七、top命令(动态查看)

top 命令全屏操作界面快捷键

默认:3s刷新一次,按s修改刷新时间按空格:立即刷新

p:按cpu排序

M:按内存排序

T:按时间排序

P:进程IP,查看某个进程状态

N:键根据启动时间进程排序

u/U:指定显示的用户

h:可以获得lop程序的在线帮助信息

q:键可以正常退出top程序

第一行

    top – 10:12:26 #当前系统时间

    Up 1:10 #系统已经运行时间

    1 users #当前登录用户

Load average 0.00, 0.01, 0.05 #系统平均负载,后面三个数字代表每1分钟,5分钟,15分钟的平均负载

 

第二行

    Tasks: 172 total 进程总数

    1 running 正在运行的进程数

    171 sleeping 睡眠的进程数

    0 stopped 睡眠的进程数

    0 zombie 僵尸进程数

第三行

    0.0 us 用户空间占用CPU百分比 查看CPU使用率

    0.0 sy 内核空间占用CPU百分比

    0.0 ni 用户进程空间内改变过优先级的进程占用CPU百分比

    100.0 id 空闲CPU百分比

    0.0 wa 等待输入输出的CPU时间百分比

    0.0 hi 硬中断消耗时间 硬中断占用

    0.0 si 软中断消耗时间 软中断占用

    0.0 st 虚拟化占用

第四行

    3861508 total 物理内存总量

    3095144 free 空闲内存总量

    367196 used 已使用的物理内存总量

    339168 buff/cache用作内核缓存的内存量

 

第五行

    8191996 total 交换区总量

    8191996 free 空闲交换区总量

    0 used 已使用的交换区总量

    3213272 avail Mem 缓冲的交换区总量

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值