开发小运维-常用Linux资源监控命令

简介

日常开发中,我们的应用都是在linux环境上运行,环境在运行中可能会出现各种状况,比如

  • 日志没有定时清理导致磁盘爆满
  • 线程池嵌套使用导致线程等待
  • 无限制的数据计算导致cpu飙高
  • 数据加载过多进入内存导致内存爆满

当出现上述各种情况等,我们需要通过linux监控命令对环境状态进行问题排查,本文主要总结几个日常使用频繁的监控命令

常用命令

/proc/meminfo(内存)

/proc/meminfo 是一个报告可用和已用内存量的虚拟文件,它包含有关系统内存使用情况以及内核使用的缓冲区和共享内存的实时信息。进程的内存使用信息也可以通过 /proc/[pid]/statm 和 /proc/[pid]/status 来查看。

cat /proc/meminfo

在这里插入图片描述

free(内存信息)

free命令可以帮助你深入了解系统内存(RAM)的使用情况等,它是对 /proc/meminfo 收集到的信息的一个概述

free [选项]

在这里插入图片描述
命令选项介绍:

选项描述
-h通过调整 KB、GB 等数据单位,以人类可读的形式打印信息
-s在给定的时间间隔参数后更新 free 输出
-t显示系统和交换内存的总量
-g以 GB 为单位显示数据
-m以 MB 为单位打印信息
-k以 KB 为单位显示输出

输出数据描述:

参数描述
total表示安装内存
used显示系统已使用的存储空间 (used= total – free – buff/cache)
free可用于新进程的可用内存量(free= total – used – buff/cache)
sharedtmpfs(临时文件系统)使用的内存量
buff/cache表示缓冲区和缓存使用的内存总和 (Buffers + Cache)
available它估计有多少内存可用于启动新应用而无需交换。它是free 内存和可以立即使用的 buff/cache 的一部分的总和

top(进程动态)

top命令用于实时显示进程动态的工具,可以显示系统中各个进程的资源占用情况,如CPU使用率、内存使用率等。

top  [选项]

在这里插入图片描述
命令选项介绍:

选项描述
-b批处理
-c显示完整的治命令
-s保密模式
-S累积模式
-i<时间>设置间隔时间
-p<进程号>指定进程
-n<次数>循环显示的次数

输出数据描述:

参数描述
第一行表示当前系统时间、有两个用户登录,load average: 0.00, 0.01, 0.05 — load average后面的三个数分别是1分钟、5分钟、15分钟的负载情况
第二行描述任务(进程)情况,系统现在共有289个进程,其中处于运行中的有1个,288个在休眠(sleep),stoped状态的有0个,zombie状态(僵尸)的有0个。
第三行表示cpu状态信息
0.2%us — 用户空间占用CPU的百分比。
0.2%us — 用户空间占用CPU的百分比。
0.2% sy — 内核空间占用CPU的百分比。
0.0% ni — 改变过优先级的进程占用CPU的百分比
99.6% id — 空闲CPU百分比
0.0% wa — IO等待占用CPU的百分比
0.0% hi — 硬中断(Hardware IRQ)占用CPU的百分比
0.0% si — 软中断(Software Interrupts)占用CPU的百分比
第四行表示当前系统时间、有两个用户登录,load average: 0.00, 0.01, 0.05 — load average后面的三个数分别是1分钟、5分钟、15分钟的负载情况
第五行表示内存状态信息
32761424k total — 物理内存总量
2411932k used — 使用中的内存总量
20718732k free — 空闲内存总量
9630760k buffers — 缓存的内存量
PID进程id
USER进程所有者
PR进程优先级
NInice值。负值表示高优先级,正值表示低优先级
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进程名称(命令名/命令行)

df (磁盘信息)

df命令可以快速获取 磁盘 被占用了多少空间,目前还剩下多少空间等信息

df [选项]

在这里插入图片描述

du(磁盘信息)

du命令可以统计 目录(或文件)所占磁盘空间的大小
在这里插入图片描述

ps(进程状态)

ps命令用于查看当前运行的进程状态的命令

ps  [选项]

在这里插入图片描述
命令选项介绍:

选项描述
-e显示所有进程
-f使用全格式显示进程信息
-l显示长格式的进程信息
-u显示与指定用户相关的进程信息
-p显示指定进程ID的进程信息
-o自定义输出格式

vmstat(内存统计)

vmstat 命令显示实时的和平均的统计,覆盖 CPU、内存、I/O 等内容。例如内存情况,不仅显示物理内存,也统计虚拟内存。
在这里插入图片描述
输出数据描述:

参数描述
r运行队列进程个数
b在等待IO的进程数
swpd已经使用的交换内存(kb)
free空闲的物理内存(kb)
buff用作缓冲区的内存数(kb)
cache用作高速缓存的内存数(kb)
si每秒交换分区写入内存量
so每秒内存写交换分区的量
bi每秒从块设备读取的块数量
bo每秒写入块设备的块数量
wa等待io 所消耗的cpu 时间
st用于虚拟机,如果你的机器是虚拟化设备,虚拟 CPU 等待实际 CPU 的时间的百分比

netstat(网络状态)

netstat 网络连接状态查看命令,可以查看的网络中的传输层(TCP、UDP)信息,日常可以查看某个端口是否开放

netstat  [选项]

在这里插入图片描述

命令选项介绍:

选项描述
-a(all)显示所有选项,默认不显示LISTEN相关
-t(tcp)仅显示tcp相关选项
-u(udp)仅显示udp相关选项
-n拒绝显示别名,能显示数字的全部转化成数字
-l仅列出有在 Listen (监听) 的服務状态
-p显示建立相关链接的程序名
-r显示路由信息,路由表
-e显示扩展信息,例如uid等
-s按各个协议进行统计
-c每隔一个固定时间,执行该netstat命令

输出数据描述:

参数描述
Proto协议类型,如 TCP 或 UDP
Recv-Q接收队列的长度,即等待进程读取的数据量
Send-Q发送队列的长度,即等待网络传输的数据量
Local Address本地IP地址和端口号
Foreign Address连接的远程IP地址和端口号
State连接的状态,如 ESTABLISHED、TIME_WAIT 等(包含TCP三次和四次挥手过程中的状态)

iostat(磁盘IO)

iostat 命令(即:I/O statistics)是用来对系统的磁盘操作进行监视

iostat  [选项]

在这里插入图片描述

命令选项介绍:

选项描述
-c显示CPU的使用情况
-d显示磁盘的使用情况
-k以KB为单位显示
-m以MB为单位显示
-x显示详细信息
-t显示终端和CPU的信息

输出数据描述:

参数描述
%user表示处在用户模式下的CPU时间百分比
%nice表示处在带nice值的用户模式下的CPU时间百分比
%system表示处在系统模式下的
%iowait表示CPU等待输入输出完成的时间百分比
%steal表示虚拟CPU的无意识等待时间百分比
%idleCPU空闲时间百分比
tps设备每秒的传输次数
kB_read/s每秒从设备读取的数据量
kB_wrtn/s每秒向设备写入的数据量
kB_read读取的总数据量
kB_wrtn写入的总数据量

❤️如果 %iowait 的值过高,表示硬盘存在 I/O 瓶颈,%idle 值高,表示 CPU 较空闲,如果 %idle值 高但系统响应慢时,有可能是 CPU 等待分配内存,此时应加大内存容量。%idle 值如果持续低于 10,那么系统的 CPU 处理能力相对较低,表明系统中最需要解决的资源是 CPU

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值