精选文章 系统状态查看工具

系统状态查看工具

作者:xiang_acrhe 时间: 2018-07-10 06:13:32
xiang_acrhe 2018-07-10 06:13:32

w查看系统负载

第一列信息:启动的时间(运行时长) ,登录用户数量,平均负载:1分钟,5分钟,15分钟的CPU平均负载
1分钟内有多少个进程等待cpu排队处理,小数点位之前的表示一个进程,查看/proc/cpuproc文件来查看cpu个数;显示的cpu个数为逻辑cpu个数,一个逻辑cpu在一定时间内只能处理一个进程,多的进程会处于挂起等待状态,等待进程会显示在平均负载信息中

[root@localhost src]# w
 19:56:00 up 1 day, 6:32, 3 users, load average: 0.00, 0.01, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root tty1 三13 14:55m 0.08s 0.08s -bash
root pts/0 192.168.1.112 18:58 0.00s 0.06s 0.00s w
root pts/1 192.168.1.112 10:13 2:40m 0.23s 0.23s -bash

vmstat工具

使用vmstat查看系统运行的状态详情

[root@localhost src]# vmstat 2 3
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r b    swpd  free   buff         cache    si so bi bo   in cs     us sy id wa st
 2 0    44    85676   0           809116   0   0  5 18   23 23     1  0  99  0 0
 0 0    44    85660   0           809116   0   0  0  0   13 15     0  0 100  0 0
 0 0    44    85660   0           809116   0   0  0  0   13 15     0  0 100  0 0

vmstat 运行间隔 运行次数 可以写数字表示每隔多长时间输出一次且输出多少次
r run 表示多少进程在cpu中为run的运行状态
b block 进程等待网络响应的状态
swpd 交换分区的使用状态
si swap int 有多少数据块从swap中进入内存当中
so swap out 数据从内存中进入swap中
bi 从磁盘中读取数据量
bo 从磁盘中写入数据量
us 用户态的cpu使用状态
sy 系统使用的占比
id 空闲状态
wa 等待cpu响应进程的百分比

top命令

[root@localhost src]# top
top - 23:13:14 up 1 day, 9:49, 2 users, load average: 0.00, 0.01, 0.05
Tasks: 91 total, 1 running, 90 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.0 us, 0.3 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 1016476 total, 85040 free, 122124 used, 809312 buff/cache
KiB Swap: 2097148 total, 2097104 free, 44 used. 691220 avail Mem 
  PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND                                     
  744 root 20 0 0 0 0 S 0.3 0.0 0:49.06 kworker/0:1                                         
    1 root 20 0 43268 2972 1724 S 0.0 0.3 0:01.20 systemd                                   
    2 root 20 0 0 0 0 S 0.0 0.0 0:00.01 kthreadd                                             
    3 root 20 0 0 0 0 S 0.0 0.0 0:00.46 ksoftirqd/0

第一行:
当前系统时间和运行时长,2user 当前有两个用户登录在系统,load average 系统在1分钟、5分钟、15分钟里的平均负载状况(load average5秒输出一下活跃进程数,这个数除以逻辑cpu数,结果高于5则表明超负荷运行)

第二行:
Tasks 任务进程数量,91 total为进程总数量,1running 为运行中的进程数,90 sleeping 为休眠中的进程数,stopped为终止(暂停)未运行的进程,zombie为僵尸进程

第三行:
%Cpu(s) cpu使用状态:
us 用户空间占用cpu占比
sy 系统内核占用cpu占比
ni 用户进程空间改变优先级的进程占用cpu的占比
id 空闲cpu使用占比
wa 等待输入输出的进程(I/O)cpu使用占比
hi 指CPU处理硬件中断的时间
si 指CPU处理软中断的时间
st 虚拟cpu被占用比,如虚拟化

第四行:内存状态
total — 物理内存总量
used — 使用中的内存总量
free — 空闲内存总量
buffers — 缓存的内存量

第五行:swap交换分区
total — 交换区总量
used — 使用的交换区总量
free — 空闲交换区总量
cached — 缓冲的交换区总量

如果出于习惯去计算可用内存数,这里有个近似的计算公式:第四行的free + 第四行的buff/cache + 第五行的cached,按这个公式此台服务器的可用内存加虚拟内存总量
对于内存监控,在top里我们要时刻监控第五行swap交换分区的used,如果这个数值在不断的变化,说明内核在不断进行内存和swap的数据交换,这是真正的内存不够用了

第七行:
各进程(任务)的状态监控
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 — 进程名称(命令名/命令行)

top命令及快捷键
top -c 查看进程的详细信息,进程运行的指令、文件等

[root@localhost src]# top -c
top - 00:56:10 up 1 day, 11:32, 2 users, load average: 0.00, 0.01, 0.05
Tasks: 91 total, 1 running, 90 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.7 us, 0.1 sy, 0.0 ni, 99.2 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 1016476 total, 84900 free, 122256 used, 809320 buff/cache
KiB Swap: 2097148 total, 2097104 free, 44 used. 691088 avail Mem 
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND                                     
1 root 20 0 43268 2972 1724 S 0.0 0.3 0:01.21 /usr/lib/systemd/systemd --system --deserialize 15    
2 root 20 0 0 0 0 S 0.0 0.0 0:00.01 [kthreadd]                                            
3 root 20 0 0 0 0 S 0.0 0.0 0:00.47 [ksoftirqd/0]   

top -bn1 列出所有进程

默认按照cpu使用率排序
M 按照内存使用率排序
P 安装cpu使用率排序
1 列出所有cpu(逻辑)百分比情况
o 改变显示项目的顺序。
l 切换显示平均负载和启动时间信息。
m 切换显示内存信息。
t 切换显示进程和CPU状态信息。
c 切换显示命令名称和完整命令行。

sar命令

安装sar工具,默认没有安装

[root@localhost src]# yum install -y sysstat
已加载插件:fastestmirror
base | 3.6 kB 00:00:00     
epel/x86_64/metalink | 6.5 kB 00:00:00     
epel | 3.2 kB 00:00:00     
extras | 3.4 kB 00:00:00     
updates | 3.4 kB 00:00:00     
(1/3): epel/x86_64/group_gz                                    | 88 kB 00:00:00     
(2/3): epel/x86_64/updateinfo                                   | 926 kB 00:00:01     
(3/3): epel/x86_64/primary                                        | 3.5 MB 00:00:05  
  sysstat.x86_64 0:10.1.5-13.el7                                                                                          

作为依赖被安装:
  lm_sensors-libs.x86_64 0:3.4.0-4.20160601gitf9185e5.el7                                                                 

完毕!

sar 工具命令
sar -n DEV 1 5
#-n 指定查看网卡信息类型
-q 指定查看系统平均负载
-b 指定查看磁盘读写速率
-f 指定保存的历史记录文件,查看历史记录中使用的状态
DEV查看网卡信息 1 隔一秒输出一次 5 输出5次后停止输出

[root@localhost src]# sar -n DEV 1 5
Linux 3.10.0-514.el7.x86_64 (localhost.localdomain) 2018年07月06日 _x86_64_    (1 CPU)

01时04分19秒 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
01时04分20秒 enp0s3 2.97 0.99 0.17 0.20 0.00 0.00 0.00
01时04分20秒 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00

01时04分20秒 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
01时04分21秒 enp0s3 0.99 0.99 0.06 0.40 0.00 0.00 0.00
01时04分21秒 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00

01时04分21秒 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
01时04分22秒 enp0s3 2.00 1.00 0.12 0.40 0.00 0.00 0.00
01时04分22秒 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00

01时04分22秒 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
01时04分23秒 enp0s3 2.00 1.00 0.12 0.40 0.00 0.00 0.00
01时04分23秒 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00

01时04分23秒 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
01时04分24秒 enp0s3 4.00 1.00 0.23 0.40 0.00 0.00 0.00
01时04分24秒 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00

平均时间: IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
平均时间: enp0s3 2.39 1.00 0.14 0.36 0.00 0.00 0.00
平均时间: lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00

rxpck/s 每秒发送的数据包数量
txpck/s 每秒接收的数据包数量
rxkB/s 每秒发送的数据量kb单位
txkB/s 每秒接收的数据量kb单位

sar命令有记录历史信息的文件,历史文件存储在 /var/log/sa/目录下,以每月日期命名,最长保留一个月的记录。历史记录使用(如查看网络历史):sar -n DEV -f /var/log/sa/sa01
/var/log/sa/目录下文件格式有sa和sar两种的文件,sa命名的文件是二进制文件只能通过sar命令来查看,而sar文件是一个文本文件,可以通过cat grep less等命令来操作和查看

[root@localhost src]# sar -n DEV -f /var/log/sa/sa06 
Linux 3.10.0-514.el7.x86_64 (localhost.localdomain) 2018年07月06日 _x86_64_    (1 CPU)

01时10分01秒 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
01时20分01秒 enp0s3 2.56 0.05 0.16 0.00 0.00 0.00 0.00
01时20分01秒 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
平均时间: enp0s3 2.56 0.05 0.16 0.00 0.00 0.00 0.00
平均时间: lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00

sar 查看系统平均负载,同样可以通过文件查看历史记录

[root@localhost src]# sar -q 1 3
Linux 3.10.0-514.el7.x86_64 (localhost.localdomain) 2018年07月06日 _x86_64_    (1 CPU)
01时29分17秒 runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15 blocked
01时29分18秒 0 185 0.00 0.01 0.05 0
01时29分19秒 0 186 0.00 0.01 0.05 0
01时29分20秒 0 186 0.00 0.01 0.05 0
平均时间: 0 186 0.00 0.01 0.05 0

sar查看磁盘使用状态,同样可以通过文件查看历史记录

[root@localhost src]# sar -b 1 4
Linux 3.10.0-514.el7.x86_64 (localhost.localdomain) 2018年07月06日 _x86_64_    (1 CPU)
01时29分26秒 tps rtps wtps bread/s bwrtn/s
01时29分27秒 0.00 0.00 0.00 0.00 0.00
01时29分28秒 0.00 0.00 0.00 0.00 0.00
01时29分29秒 0.00 0.00 0.00 0.00 0.00
01时29分30秒 0.00 0.00 0.00 0.00 0.00
平均时间: 0.00 0.00 0.00 0.00 0.00

nload网络分析工具

nload包默认没有安装,安装nload之前需要安装扩展yum源
在使用国内镜像的情况下使用yum install -y epel-release一般都能进行安装
安装nload


[root@localhost src]# yum install nload
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * epel: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.huaweicloud.com
正在解决依赖关系
--> 正在检查事务
---> 软件包 nload.x86_64.0.0.7.4-4.el7 将被 安装
--> 解决依赖关系完成
Running transaction
  正在安装 : nload-0.7.4-4.el7.x86_64 1/1 
  验证中 : nload-0.7.4-4.el7.x86_64 1/1 

已安装:
  nload.x86_64 0:0.7.4-4.el7                                                                                              

完毕!

直接执行nload可以查看网卡的传输状态

Device enp0s3 [l92 l 168.1.2231 (1/2):
Incoming:
                                                  Curr: 888. 00 Bit/s
                                                  Avg: 1.68 kBit/s
                                                  Min: 888.00 Bit/s
                                                  Max: 6.98 kBit/s
                                                  Ttl: 84.19 MByte

  outgoing:
                                                  Curr: 8.07 kBit/s 
                                                  Avg: 8.31 kBit/s
                                                  Min: 423 kBit/s
                                                  Max: 9.45 kBit/s
                                                  Ttl: 8.85 MByte

Incoming为输入流量速率
Outgoing为输出流量速率
Curr 为实时的传输数据量
Avg 为平均一段时间中的数据量
Min 传输速率最小值
Max 传输速率最大值
Ttl 累计传输总量
nload 实时查看页面可以用方向键←和→查看不同网卡的速率情况

勿删,copyright占位
分享文章到微博
分享文章到朋友圈

上一篇:Cobbler安装

下一篇:rhce 第11题挂载一个nfs共享遇到的问题及解决办法

您可能感兴趣

  • JetPack WorkManager

    1.概览 官方文档:WorkManager 谷歌实验室:官方教程 官方案例:android-workmanager WorkManger介绍视频:中文官方介绍视频 谷歌工程师博客:https://medium.com/androiddevelopers/workmanager-basics-beba51e94048 Android JetPack实例学习:https://www.jiansh...

  • 不停机还能替换代码?6年的 Java程序员表示不可思议

    相信很多人都有这样一种感受,自己写的代码在开发、测试环境跑的稳得一笔,可一到线上就抽风,不是缺这个就是少那个反正就是一顿报错,而线上调试代码又很麻烦,让人头疼得很。不过, 阿里巴巴出了一款名叫Arthas的工具,可以在线分析诊断Java代码,让人眼前一亮。 ❞ Arthas 是什么? Arthas(阿尔萨斯) 是阿里开源的一个Java在线分析诊断工具。 Arthas 能解决啥问题? 在日常开...

  • 绝了!这款工具让SpringBoot不再需要Controller、Service、DAO、Mapper!

    Dataway介绍 Dataway 是基于 DataQL 服务聚合能力,为应用提供的一个接口配置工具,使得使用者无需开发任何代码就配置一个满足需求的接口。整个接口配置、测试、冒烟、发布,一站式都通过 Dataway 提供的 UI 界面完成。UI 会以 Jar 包方式提供并集成到应用中并和应用共享同一个 http 端口,应用无需单独为 Dataway 开辟新的管理端口。 这种内嵌集成方式模式的...

  • IntellIJ IDEA2020新功能

    一、java 1、Java 14支持:记录和模式匹配 IntelliJ IDEA 2020.1添加了对Java 14及其新功能的支持。IDE不仅添加了对Records的完整代码洞察支持,而且还使您能够快速创建新记录并生成其构造函数和组件,并警告存在的错误。您还将发现对instanceof运算符的模式匹配的支持,包括新的检查和快速修复,该快速修复通过用新的简洁模式变量替换它们来快速简化冗长的i...

  • 面试官:说一下你对Java线程之间通信方式的理解

    多线程和并发,在平时开发中有些小伙伴用的不多,但是有些工作经验的面试中还是容易被问到的,故在之后几期先整理一些常见的多线程面试题供参考。 通信方式 ①同步 ②while轮询的方式 ③wait/notify机制 ④管道通信 一,介绍 本文总结我对于JAVA多线程中线程之间的通信方式的理解,主要以代码结合文字的方式来讨论线程间的通信,故摘抄了书中的一些示例代码。 二,线程间的通信方式 ①同步 这...

  • 二本学历,五年抄代码经验,疫情期被裁,三个月25K入职字节跳动

    前言 我的个人背景非常简单,也可以说丝毫没有亮点。 学历普通,计算机专业二本毕业,毕业后出来就一直在一家小公司,岁月如梭细,算了下至今从事Java开发已经5年了,也crud了五年,每天就是抄代码,毫无新意,甚至一度的怀疑人生。 其实很久之前就已经对自己不满了,每次都在想鼓起勇气想去打破困境,去改变自己,然而因为游戏因为玩耍一次又一次的破功;直到这次疫情,强有力的给了我当头一棒。是的,我失业了...

  • hualinux 进阶 1.24:k8s调度器的优先级与抢占机制 (整理)

    目录 一、优先级和抢占机制说明 二、优级先和抢占机制设计和实现 k8s调度器的优先级与抢占机制,这个比较重要,需要了解。 优先级和抢占机制,解决的是 Pod 调度失败时该怎么办的问题。 一、优先级和抢占机制说明 优先级和抢占机制,解决的是 Pod 调度失败时该怎么办的问题。 正常情况下,当一个 Pod 调度失败后,它就会被暂时“搁置”起来,直到 Pod 被更新,或者集群状态发生变化,调度器才...

  • 前端路 - Webpack

    概述 本质 JavaScript 应用程序的静态模块打包器 核心 加载器(Loader)机制 工作流程 配置初始化 webpack 会首先读取配置文件,执行默认配置 编译前准备 webpack 会实例化 compiler,注册 plugins、resolverFactory、hooks。 reslove 前准备 webpack 实例化 compilation、NormalModuleFact...

华为云40多款云服务产品0元试用活动

免费套餐,马上领取!
51CTO

51CTO

51CTO是一家综合的IT技术用户服务平台,立足满足用户多维度需求,为技术用户成长赋能。2005年成立至今,拥有专业主流技术媒体51CTO企业信息化媒体CIOAge中国最大的IT在线教育平台51CTO学院。