[svc]linux性能监控
w - Show who is logged on and what they are doing.
[root@n1 ~]# w # w - Show who is logged on and what they are doing.
10:15:20 up 56 min, 3 users, load average: 0.02, 0.02, 0.05
时间 系统运行时间, 登录用户数,平均负载(单位时间段内CPU活动进程数),不要超过cpu核数为佳
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 192.168.14.1 17:18 ? 0.10s 0.00s w
root pts/1 192.168.14.1 17:18 ? 2.49s 2.45s top
root pts/2 192.168.14.1 09:19 56:17 0.03s 0.03s -bash
w输出说明
| 10:15:20 | up 56 min, | 3 users, | load average: 0.02, 0.02, 0.05 |
|---|---|---|---|
| 当前时间 | 系统运行时间 | 3个用于登录 | 1min 5min 15min,单位时间内cpu活动的进程数,不要超过cpu核数 |
| 项 | 说明 |
|---|---|
| USER | 登录的用户。 |
| tty | 用户使用的 tty 名称。 |
| LOGIN@ | 用户登录的日期和时间。 |
| IDLE | 自程序上次试图读取终端开始持续的分钟数。 |
| JCPU | 该终端上的所有进程及其子进程使用的系统部件时间。 |
| PCPU | 当前活动进程所使用的系统部件时间。 |
| What | 当前进程的名称和参数。 |
查看几个物理cpu,每个物理cpu几核心, 总共有多少个逻辑cpu
grep -c 'physical id' /proc/cpuinfo|uniq #查看物理cpu个数
cat /proc/cpuinfo| grep "cpu cores"| uniq #查看一个物理cpu有多少核
grep -c 'processor' /proc/cpuinfo #查看逻辑cpu个数
[root@n1 ~]# grep "physical id" /proc/cpuinfo
physical id : 0
physical id : 0
physical id : 0
physical id : 0
[root@n1 ~]# grep "physical id" /proc/cpuinfo |sort|wc -l
4
[root@n1 ~]# grep "physical id" /proc/cpuinfo | uniq
physical id : 0

top - display Linux processes 输出解释
top - 09:29:44 up 11 min, 3 users, load average: 0.01, 0.04, 0.05
当前时间 启动了多久 3人登录 cpu在1 5 15min内的负载
Tasks: 111 total, 1 running, 110 sleeping, 0 stopped, 0 zombie
共有111进程 运行 睡眠 停止 僵尸
%Cpu0 : 0.0 us, 0.3 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu1 : 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu2 : 0.0 us, 0.3 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu3 : 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
user system nice cpu等iowait 硬件中断 软中断 被hypervisor偷去的CPU时间
用户进程cpu时间 系统进程 调整优先级用户进程的CPU
KiB Mem : 999720 total, 675644 free, 117632 used, 206444 buff/cache
物理内存使用:全部可用内存、 空闲内存、 已使用内存、 缓冲内存
KiB Swap: 2097148 total, 2097148 free, 0 used. 691016 avail Mem
虚拟内存使用: 全部、 空闲 已使用、 缓冲交换空间
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
864 root 20 0 529844 29112 15324 S 0.3 2.9 0:03.15 dockerd
961 root 20 0 383364 22996 12164 S 0.7 2.3 0:02.10 docker-containe
865 root 20 0 562388 16608 5908 S 0.0 1.7 0:00.29 tuned
661 polkitd 20 0 534132 12020 4616 S 0.0 1.2 0:00.13 polkitd
共享内存 占cpu占内存 (0.01s)占用cpu时间
进程ID 用户 调度优先级 虚拟内存 驻存内存 进程状态
进程的nice值(小优)
系统负载
top - 09:47:04 up 28 min, 3 users, load average: 0.01, 0.02, 0.05
| top | - 09:47:04 | up 28 min, | 3 users, | load average: 0.01, 0.02, 0.05 |
|---|---|---|---|---|
| - | 当前时间 | 系统已运行的时间 | 当前登录用户的数量 | 相应最近5、10和15分钟内的平均负载。 |
进程状态
Tasks: 112 total, 1 running, 111 sleeping, 0 stopped, 0 zombie
| Tasks: 112 total, | 1 running, | 111 sleeping, | 0 stopped, | 0 zombie |
|---|---|---|---|---|
| 总共有112个进程 | 运行 | 睡眠 | 停止 | 僵尸 |
CPU时间分配
%Cpu(s): 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
| 字段 | 说明 |
|---|---|
| us | user: 运行(未调整优先级的) 用户进程的CPU时间 |
| sy | system: 运行内核进程的CPU时间 |
| ni | niced:运行已调整优先级的用户进程的CPU时间 |
| wa | IO wait: 用于等待IO完成的CPU时间 |
| hi | 处理硬件中断的CPU时间 |
| si | 处理软件中断的CPU时间 |
| st | 这个虚拟机被hypervisor偷去的CPU时间(译注:如果当前处于一个hypervisor下的vm,实际上hypervisor也是要消耗一部分CPU处理时间的)。 |
物理内存和交换内存
KiB Mem : 999720 total, 674312 free, 118572 used, 206836 buff/cache
KiB Swap: 2097148 total, 2097148 free, 0 used. 689724 avail Mem
| KiB Mem : | 999720 total, | 674312 free, | 118572 used, | 206836 buff/cache |
|---|---|---|---|---|
| 物理内存显示如下: | 全部可用内存、 | 空闲内存、 | 已使用内存、 | 缓冲内存 |
| KiB Swap: | 2097148 total, | 2097148 free, | 0 used. | 689724 avail Mem |
|---|---|---|---|---|
| 交换内存显示如下: | 全部可用内存、 | 空闲内存、 | 已使用内存、 | 缓冲内存 |
进程详情
| 选项 | 说明 |
|---|---|
| PID | 进程ID,进程的唯一标识符 |
| USER | 进程所有者的实际用户名。 |
| PR | 进程的调度优先级。这个字段的一些值是’rt’。这意味这这些进程运行在实时态。 |
| NI | 进程的nice值(优先级)。越小的值意味着越高的优先级。 |
| VIRT | 进程使用的虚拟内存。 |
| RES | 驻留内存大小。驻留内存是任务使用的非交换物理内存大小。 |
| SHR | SHR是进程使用的共享内存。 |
| S | 这个是进程的状态。它有以下不同的值: D – 不可中断的睡眠态。R – 运行态. S – 睡眠态. T – 被跟踪或已停止. Z – 僵尸态 |
| %CPU | 自从上一次更新时到现在任务所使用的CPU时间百分比。 |
| %MEM | 进程使用的可用物理内存百分比。 |
| TIME+ | 任务启动后到现在所使用的全部CPU时间,精确到百分之一秒。 |
| COMMAND | 运行进程所使用的命令。 |
vmstat - Report virtual memory statistics
vmstat 1 5 #每1秒显示一次 显示5次
[root@n1 ~]# vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
1 0 0 462452 2108 413460 0 0 4 2 31 36 0 0 100 0 0
r列,b列,和wa列,三列代表的含义在下面对应列边说得已经很清楚
IO部分的bi以及bo也是要经常参考的对象。如果磁盘io压力很大时,这两列的数值会比较高
当si, so两列的数值比较高,并且在不断变化时,说明内存不够了,内存中的数据频繁交换到交换分区中,这往往对系统性能影响极大。
procs 显示进程相关信息
r :run表示运行和等待cpu时间片的进程数,如果长期大于服务器cpu的个数,则说明cpu不够用了;
b :block 表示等待资源的进程数,比如等待I/O, 内存等,这列的值如果长时间大于1,则需要关注一下了;
memory 内存相关信息
| 项 | 说明 |
|---|---|
| swpd | 表示切换到交换分区中的内存数量 ; |
| free | 当前空闲的内存数量; |
| buff | 缓冲大小, (即将写入磁盘的); |
| cache | 缓存大小,(从磁盘中读取的); |
swap 内存交换情况
si: swap in由交换区写入到内存的数据量;
so: swap out由内存写入到交换区的数据量;
io 磁盘使用情况
bi: 从块设备读取数据的量(读磁盘);
bo: 从块设备写入数据的量(写磁盘)
system 显示采集间隔内发生的中断次数
in: 表示在某一时间间隔中观测到的每秒设备中断数;
cs: 表示每秒产生的上下文切换次数;
CPU 显示cpu的使用状态
| 项 | 说明 |
|---|---|
| us | 显示了用户下所花费 cpu 时间的百分比; |
| sy | 显示系统花费cpu时间百分比; |
| id | 表示cpu处于空闲状态的时间百分比; |
| wa | 表示I/O等待所占用cpu时间百分比; |
| st | 表示被偷走的cpu所占百分比(一般都为0,不用关注) |
r列,b列,和wa列,三列代表的含义在上边说得已经很清楚
IO部分的bi以及bo也是要经常参考的对象。如果磁盘io压力很大时,这两列的数值会比较高
当si, so两列的数值比较高,并且在不断变化时,说明内存不够了,内存中的数据频繁交换到交换分区中,这往往对系统性能影响极大。
[svc]linux性能监控的更多相关文章
- Linux性能监控
转自:http://blog.csdn.net/chosen0ne/article/details/8200737 linux性能监控,就是要监控系统的各个子系统是否正常.linux主要的子系统包括: ...
- Linux 性能监控之CPU&内存&I/O监控Shell脚本2
Linux 性能监控之CPU&内存&I/O监控Shell脚本2 by:授客 QQ:1033553122 思路: 捕获数据->停止捕获数据->提取数据 备注:一些命令的输 ...
- Linux 性能监控之CPU&内存&I/O监控Shell脚本1
Linux 性能监控之CPU&内存&I/O监控Shell脚本1 by:授客 QQ:1033553122 #!/bin/bash # 获取要监控的本地服务器IP地址 IP=`if ...
- linux性能监控 -CPU、Memory、IO、Network等指标的讲解
[操作系统-linux]linux性能监控 -CPU.Memory.IO.Network等指标的讲解(转) 一.CPU 1.良好状态指标 CPU利用率:User Time <= 70%,Syst ...
- Linux性能监控与分析之--- CPU
Linux性能监控与分析之--- CPU 望月成三人关注 2016.07.25 18:16:12字数 1,576阅读 2,837 CPU性能指标 用户进程使用CPU的比率 系统进程使用CPU的比率 W ...
- Linux 性能监控、测试、优化工具
Linux 平台上的性能工具有很多,眼花缭乱,长期的摸索和经验发现最好用的还是那些久经考验的.简单的小工具.系统性能专家 Brendan D. Gregg 在最近的 LinuxCon NA 2014 ...
- 三张图看遍Linux 性能监控、测试、优化工具
Linux 平台上的性能工具有很多,眼花缭乱,长期的摸索和经验发现最好用的还是那些久经考验的.简单的小工具.系统性能专家 Brendan D. Gregg 在最近的 LinuxCon NA 2014 ...
- Linux 性能监控的18个命令行工具
对于系统和网络管理员来说每天监控和调试Linux系统的性能问题是一项繁重的工作.在IT领域作为一名Linux系统的管理员工作5年后,我逐渐 认识到监控和保持系统启动并运行是多么的不容易.基于此原因,我 ...
- (太强大了) - Linux 性能监控、测试、优化工具
转: http://www.vpsee.com/2014/09/linux-performance-tools/ Linux 平台上的性能工具有很多,眼花缭乱,长期的摸索和经验发现最好用的还是那些久经 ...
随机推荐
- Android开发之欢迎界面标准
import java.util.ArrayList; import android.app.Activity; import android.content.SharedPreferences; i ...
- mysql保留2位小数字段如何设置 浮点数
保留2位小数字段如何设置 方法1: select cast(avg(75.3333333) as decimal(10,2)) as '平均分' );#format第一个参数传递浮点数
- OpenCV学习代码记录——Hough线段检测
很久之前学习过一段时间的OpenCV,当时没有做什么笔记,但是代码都还在,这里把它贴出来做个记录. 代码放在码云上,地址在这里https://gitee.com/solym/OpenCVTest/tr ...
- Android 仿知乎创意广告
代码地址如下:http://www.demodashi.com/demo/14904.html 一.概述 貌似前段时间刷知乎看到的一种非常有特色的广告展现方式,即在列表页,某一个Item显示背后部分广 ...
- netstat统计的tcp连接数与⁄proc⁄pid⁄fd下socket类型fd数量不一致的分析
最近,线上一个应用,发现socket数缓慢增长,并且不回收,超过警告线之后,被运维监控自动重启了. 首先到zabbix上观察JVM历史记录,发现JVM-Perm space最近两周没有数据,猜测是程序 ...
- Soapui groovy 加载外部property文件
proFile = "c:\\test.properties" log.info proFile props = new java.util.Properties() props. ...
- 如何使两台机器不通过密码连接起来(linux)
要求服务器10.96.22.40不通过密码直接连接服务器10.96.21.53 1:准备必须的软件 A:服务器40和53同时安装所需软件 yum -y install openssh-server o ...
- .Net Core ORM选择之路,哪个才适合你 通用查询类封装之Mongodb篇 Snowflake(雪花算法)的JavaScript实现 【开发记录】如何在B/S项目中使用中国天气的实时天气功能 【开发记录】微信小游戏开发入门——俄罗斯方块
.Net Core ORM选择之路,哪个才适合你 因为老板的一句话公司项目需要迁移到.Net Core ,但是以前同事用的ORM不支持.Net Core 开发过程也遇到了各种坑,插入条数多了也特别 ...
- 关于varchar(max), nvarchar(max)和varbinary(max)
在MS SQL2005及以上的版本中,加入大值数据类型(varchar(max).nvarchar(max).varbinary(max) ).大值数据类型最多可以存储2^30-1个字节的数据.这几个 ...
- ural 1091. Tmutarakan Exams(容斥)
http://acm.timus.ru/problem.aspx? space=1&num=1091 从1~s中选出k个数,使得k个数的最大公约数大于1,问这种取法有多少种. (2<=k ...