LInux 服务器状态查询 1.top 命令监控所有服务的占用情况 2. top命令行详解 3. free 命令 4.iostat 命令

最近帮助现场分析服务器的卡顿和使用情况,记录一下用到过的一些命令行

1.top 命令监控所有服务的占用情况


记录下相关数据对应的信息

1.1 第一行

top - 14:09:54 up 55 days, 21:49, 3 users, load average: 1.51, 1.92, 2.12
翻译过来就是:
系统时间:14:09:54 运行时间:55 days, 21:49 当前登录用户数:3个 负载均衡:load average: 1.51, 1.92, 2.12
ps:

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

1.2 第二行(进程状态)

Tasks: 813 total, 1 running, 812 sleeping, 0 stopped, 0 zombie
翻译:
总进程: 813total 运行:1 running 休眠:812 sleeping 停止: 0 stopped 僵尸进程: 0 zombie

1.3 第三行(CPU)

%Cpu(s): 1.2 us, 2.5 sy, 0.0 ni, 96.2 id, 0.0 wa, 0.0 hi, 0.1 si, 0.0 st
翻译:
1.2us(用户空间占用百分比) 2.5 sy(系统内核占用百分比) 0.0 ni(改变过优先级的进程占用CPU的百分比) 96.2 id(空闲cpu百分比) 0.0 wa(等待IO的百分比) 0.1 si(硬中断百分比) 0.0 st(软中断百分比)
这里关注用户占用和空闲cpu百分比

1.4 第四行(内存占用)

KiB Mem : 12359781+total, 26104952 free, 44029052 used, 53463812 buff/cache
翻译:
`total 总内存
free 空闲内存

used 已被使用
buffer/cache 缓存
`

1.5 第五行(swap交换分区)

KiB Swap: 0 total, 0 free, 0 used. 74735824 avail Mem
可用内存=free + buffer + cached
ps:这个就关注used,这个最好不被使用,如果被使用,说明服务器已经到内存占用非常严重的情况了

1.6 表格类数据

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
翻译:

  • PID 服务进程ID
  • USER 进程的所有人
  • PR 进程优先级
  • NI nice值,会出现负值,负值优先级更高
  • VIRT 进程使用虚拟内存总量
  • RES 共享内存大小
  • kbS(简略为S) —进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
  • %CPU 上次更新到现在的CPU时间占用百分比
  • %MEM 进程使用的物理内存百分比
  • TIME+ — 进程使用的CPU时间总计,单位1/100秒
  • COMMAND — 进程名称(命令名/命令行)

2. top命令行详解

top的使用方式 top [-d number] | top [-bnp]

参数 含义
-d number number代表秒数,表示top命令显示的页面更新一次的间隔 (default=5s)
-b 以批次的方式执行top
-n 与-b配合使用,表示需要进行几次top命令的输出结果
-p 指定特定的pid进程号进行观察

top命令显示的页面还可以输入以下按键执行相应的功能(注意大小写区分的)

参数 含义
显示在top当中可以输入的命令
P 以CPU的使用资源排序显示
M 以内存的使用资源排序显示
N 以pid排序显示
T 由进程使用的时间累计排序显示
k 给某一个pid一个信号,可以用来杀死进程(9)
r 给某个pid重新定制一个nice值(即优先级)
q 退出top(用ctrl+c也可以退出top)

3. free 命令

使用free -h可以查看linux的内存使用状态


各自的含义如下所示:

  • total 是总内存数;

  • used 是已经使用的内存数;

  • free 是空闲的内存数;

  • shared 是多个进程共享的内存总数;

  • buffers 是缓冲内存数;

  • cached 是缓存内存数

ps:使用free -m 也是可以的,而且还可以用MB为单位

4.iostat 命令

iostat是I/O statistics(输入/输出统计)的缩写,iostat工具将对系统的磁盘操作活动进行监视。它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况。iostat也有一个弱点,就是它不能对某个进程进行深入分析,仅对系统的整体情况进行分析

4.1 安装服务

部分设备无法直接使用这个服务,需要提前安装服务

# iostat属于sysstat软件包。可以直接安装。
 yum install sysstat -y

4.2 使用

iostat 命令结果如下


cpu属性值说明:

  • %user:CPU处在用户模式下的时间百分比。

  • %nice:CPU处在带NICE值的用户模式下的时间百分比。

  • %system:CPU处在系统模式下的时间百分比。

  • %iowait:CPU等待输入输出完成时间的百分比。

  • %steal:管理程序维护另一个虚拟处理器时,虚拟CPU的无意识等待时间百分比。

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

  • tps:该设备每秒的传输次数

  • kB_read/s:每秒从设备(drive expressed)读取的数据量;

  • kB_wrtn/s:每秒向设备(drive expressed)写入的数据量;

  • kB_read: 读取的总数据量;

  • kB_wrtn:写入的总数量数据量

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章