使用w查看系统负载、vmstat命令、top命令、sar命令、nload命令

简介:

使用w查看系统负载

系统平均负载被定义为在特定时间间隔内运行队列中的平均进程数

如果一个进程满足以下条件则其就会位于运行队列中:

它没有在等待I/O操作的结果

它没有主动进入等待状态(也就是没有调用'wait')

没有被停止(例如:等待终止)



1、直接输出w

[root@centos7 ~]# w

第一行 15:02:01 up 25 min,  3 users,  load average: 0.00, 0.01, 0.04

第二行  USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT

第三行  root     tty1                      14:36   25:05   0.01s  0.01s -bash

第四行  root     pts/0    192.168.100.100  14:37   23:05   9.18s  9.17s top

第五行  root     pts/1    192.168.100.100  15:01    1.00s  0.04s  0.02s w


第一行:当前系统时间,up 25min:启动25分钟;3 users:目前登录几个用户;load average:系统负载:1分钟  5分钟  15分钟 和cpu有关系,单位时间内使用cpu活动的进程有多少个,最理想的状态:cpu个数(逻辑cpu,不是物理cpu),即负载值不超过1(cpu个数),一分钟查看的数字最能体现当前负载情况

[root@centos7 ~]# cat /proc/cpuinfo 

processor: 0

0:表示一颗,1表示两颗


2、uptime和w一样

[root@centos7 ~]# uptime

 15:13:28 up 37 min,  4 users,  load average: 0.00, 0.01, 0.04


vmstat命令

什么原因导致cpu不正常了,系统的瓶颈在哪里,通过vmstat查看


[root@centos7 ~]# vmstat 

进程                内存            交换分区    磁盘IO  系统        cpu

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      0 245120    948 120364    0    0    37     4   38   64  0  1 99  0  0


每一秒显示一次,只需要显示5次

[root@centos7 ~]# vmstat 1 5


只需要关注:r:有多少个进程处于run状态;1个cpu处理10个进程;那么cpu轮流排队处理进程,只要排队就是r的状态  ;当这个值超过了CPU数目,就会出现CPU瓶颈了;

如果运行队列过大,表示你的CPU很繁忙,一般会造成CPU使用率很高。

b: 阻塞的进程;被网络,硬盘显示处理等待状态,卡死了,block;有多少个进程在等待

swapd:当数字不停变换,表示内存不够;

如果大于0,表示你的机器物理内存不足了,如果不是程序内存泄露的原因,那么你该升级内存了或者把耗内存的任务迁移到其他机器。

si:有多少kb数据从swap进入到内存中

so:有多少从内存出来的到swap

bi:从磁盘读,判断磁盘读   

bo:从磁盘写,判断磁盘写

us:用户占用cpu,比如mysql,http,表示用户态的资源,长时间大于50,表示资源不够,一共是100

sy:系统态

id:空闲的

us+sy+id=100

wa:等待cpu的百分百,有多少进程在等待,这列很大表示cpu不够用


top命令

查看系统具体哪个进程使用情况

默认3秒显示一次动态的刷新

Tasks: 350 total,   2 running, 348 sleeping,   0 stopped,   0 zombie

总共的任务            2个在运行    348在休眠    停止        主进程不存在,只有子进程运行

cpu最高的在前面;按P用cpu排序

mem:按M排序

top -bn1:一次性的把top列出来

top -c:更加详细的command显示

kill -9 PID


sar命令

监控系统状态

1、yum install -y sysstat

/var/log/sa/sa29 每隔一段时间生成的日志

[root@centos7 ~]# sar -n DEV -f /var/log/sa/sa29 (这个是二进制文件)查看当天的日志,也可以一个月内的日志

可以直接cat sar -n DEV -f /var/log/sa/sar29 

2、监控网卡流量

-n (network):网卡设备

1:表示1秒查看一次

[root@centos7 ~]# sar -n DEV 1

第一列:时间

第二列:网卡名称

第三列(rxpck/s):每秒接收的数据包大小;几千是正常的,上万就得关注了

第四列(txpck/s):每秒发送的数据包大小

rxkB/s  txkB/s :接收到的数据流量和发送的数据流量,单位是kB/s

rxcmp/s   txcmp/s  rxmcst/s:没什么意义


Linux 3.10.0-327.el7.x86_64 (centos7) 10/29/2017 _x86_64_(1 CPU)


07:09:44 PM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s

07:09:45 PM eno16777736      1.01      1.01      0.06      0.17      0.00      0.00      0.00

07:09:45 PM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00


07:09:45 PM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s

07:09:46 PM eno16777736      1.00      1.00      0.06      0.37      0.00      0.00      0.00

07:09:46 PM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00


3、查看系统负载

[root@centos7 ~]# sar -q 1 5

runq-sz:运行队列的长度(等待运行的进程数)。

plist-sz:进程列表中进程(processes)和线程(threads)的数量。

ldavg-1:最后 1 分钟的系统平均负载(System load average)。

ldavg-5:过去 5 分钟的系统平均负载。

ldavg-15:过去 15 分钟的系统平均负载。

12:16:41 PM   runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15

12:16:44 PM         0       147      0.00      0.01      0.00

12:16:47 PM         0       147      0.00      0.01      0.00

12:16:50 PM         0       147      0.00      0.01      0.00

Average:            0       147      0.00      0.01      0.00


4、监控cpu

[root@test fc]# sar -u 1 3

%usr:用户进程消耗的 CPU 时间百分比。

%nice: 运行正常进程消耗的 CPU 时间百分比。

%system:系统进程消耗的 CPU 时间百分比。

%iowait: I/O 等待所占 CPU 时间百分比。

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

Linux 2.6.32-573.el6.x86_64 (test)  11/02/2017  _x86_64_ (4 CPU)

12:09:50 PM     CPU     %user     %nice   %system   %iowait    %steal     %idle

12:09:51 PM     all      0.00      0.00      0.25      0.00      0.00     99.75

12:09:52 PM     all      0.00      0.00      0.00      0.00      0.00    100.00

12:09:53 PM     all      0.00      0.00      0.25      0.00      0.00     99.75

Average:        all      0.00      0.00      0.17      0.00      0.00     99.83

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

5、IO传输速率的监控

[root@test fc]# sar -b 3 3

Linux 2.6.32-573.el6.x86_64 (test)  11/02/2017  _x86_64_ (4 CPU)

 tps:每秒钟物理设备的 I/O 传输总量。

 rtps:每秒钟从物理设备读入的数据总量。

 wtps:每秒钟向物理设备写入的数据总量。

 bread/s:每秒钟从物理设备读入的数据量,单位为 块/s。

 bwrtn/s:每秒钟向物理设备写入的数据量,单位为 块/s。

12:14:15 PM       tps      rtps      wtps   bread/s   bwrtn/s

12:14:18 PM      0.00      0.00      0.00      0.00      0.00

12:14:21 PM      0.00      0.00      0.00      0.00      0.00

12:14:24 PM      0.00      0.00      0.00      0.00      0.00

Average:         0.00      0.00      0.00      0.00      0.00


总结:

要判断系统瓶颈问题,有时需几个 sar 命令选项结合起来

怀疑 CPU 存在瓶颈,可用 sar -u 和 sar -q 等来查看

怀疑内存存在瓶颈,可用 sar -B、 sar -r 和 sar -W 等来查看

怀疑 I/O 存在瓶颈,可用 sar -b、 sar -u 和 sar -d 等来查看




nload命令

1、[root@centos7 ~]# yum install epel-release

2、[root@centos7 ~]# yum install nload

3、[root@centos7 ~]# nload

可以查看当前的,平均的,最大的,最小的,总共的带宽











本文转自方向对了,就不怕路远了!51CTO博客,原文链接: http://blog.51cto.com/jacksoner/1977194,如需转载请自行联系原作者












相关文章
|
机器学习/深度学习 人工智能 算法
量子计算与化学:分子模拟的新技术
量子计算在化学领域的应用正逐步改变分子模拟的传统方式。基于量子力学原理,量子计算机能高效处理复杂分子的量子态,优化分子结构,模拟化学反应及电子结构计算,为新材料设计、药物研发等提供新途径。尽管当前技术仍面临稳定性与可扩展性的挑战,但其未来发展前景广阔,有望为化学研究带来革命性变化。
558 35
|
数据安全/隐私保护 安全
如何查看自己的淘宝账号名称?
关于如何查看自己的淘宝账号名称,通过以下两种方式可快速查看
22659 19
如何查看自己的淘宝账号名称?
|
设计模式 JavaScript 前端开发
软件工程师,如何搞副业赚钱
在这个数字化时代,软件工程师凭借其深厚的技术功底与创新思维,早已成为推动社会经济发展的重要力量。然而,随着生活成本的提升以及对个人价值实现的追求,越来越多的软件工程师开始思考如何利用自身技能和业余时间开展副业,以实现“财务自由”和职业发展的双重目标。 当然,这里的“财务自由”打了引号。想通过副业实现“财务自由”还是非常有挑战性的,可能需要一定的机遇和运气。但在完成本职工作的基础上,通过搞副业赚钱,可以提升我们全方位的能力,并为后续的创业打下坚实的基础和储备。
503 5
|
传感器 人工智能 自动驾驶
智慧城市中的智能交通系统:缓解拥堵与提升出行效率
【9月更文挑战第16天】随着城市化进程加快,交通拥堵和污染等问题日益严重,成为制约城市发展的瓶颈。为此,智慧城市应运而生,其中智能交通系统(Intelligent Traffic System, ITS)作为核心部分,正逐渐成为缓解交通拥堵、提升出行效率的关键力量。本文将探讨智能交通系统如何通过信号优化、智能导航及公交调度等策略,结合实时路况监测与自动驾驶技术,为城市交通带来革命性变革。未来,随着技术进步和政策支持,智能交通系统将进一步智能化并与智慧城市其他系统深度融合,共同推动城市的可持续发展。
1902 17
|
人工智能 弹性计算 算法
【云故事探索】NO.5:PETKIT小佩,科技与爱,共绘宠物智能生活新篇章
在数字化浪潮中,中国宠物行业蓬勃发展,国内养宠规模已超2亿,形成千亿市场。成立于2013年的PETKIT小佩,专注智能宠物用品,服务遍布40+国家。面对618、双11等高峰挑战,阿里云ECS弹性扩容助其稳定运行。借助阿里云全球化部署能力,小佩成功出海。最新可视喂食器结合AI算法与OSS存储,提升用户体验。未来,双方将进一步探索AI大模型在宠物行业的应用,持续优化养宠体验。
|
传感器 人工智能 搜索推荐
人工智能(AI)与物联网(IoT)的融合是当今技术领域的一个重要趋势
人工智能(AI)与物联网(IoT)的融合是当今技术领域的一个重要趋势
|
域名解析 存储 缓存
【域名解析DNS专栏】动手实践:手动配置DNS解析记录
【5月更文挑战第22天】本文介绍了DNS解析记录的概念及其手动配置步骤。DNS解析记录是将域名映射到IP地址的数据,常见类型包括A(IPv4)、AAAA(IPv6)和CNAME(别名)。配置步骤包括登录DNS管理平台,添加记录,选择记录类型,填写主机记录和记录值,设置TTL值,并保存。以阿里云为例的A记录配置示例也提供了具体操作。了解这些有助于更好地管理域名。
2010 0
【域名解析DNS专栏】动手实践:手动配置DNS解析记录
FFmpeg开发笔记(五)更新MSYS的密钥环
在《FFmpeg开发实战:从零基础到短视频上线》中,介绍了解决MSYS下FFmpeg交叉编译时遇到的密钥环过期问题。当尝试安装mingw-w64-x86_64-toolchain时,可能出现签名不被信任的错误。这由于MSYS密钥环有效期仅为150天,过期后需更新。通过`pacman-key --list-sigs`检查密钥状态,发现密钥已过期。解决方法是访问`https://repo.msys2.org/msys/x86_64/`下载msys2-keyring最新版,然后验证并安装更新。更新后,密钥环有效期将延长至2024年4月10日,确保能正常安装交叉编译工具链。
280 2
FFmpeg开发笔记(五)更新MSYS的密钥环

热门文章

最新文章