标签:linux
10.1 使用w查看系统负载1. 使用w查看系统负载(主要查看CPU的负载)
解释:linux管理员最常用的命令就是这个w了,该命令显示的信息很丰富。第一行从左至右显示的信息依次为:时间、系统运行时间、登录用户数、平均负载。
第二行开始的所有行则是告诉我们:当前登录的用户名及其登录地址等。
注意:在这里面最应该关注的应该是第一行中的load average:后面三个数值。
第一个数值表示一分钟内系统的平均负载值。
第二个数值表示五分钟内系统的平均负载值。
第三个数值表示十五分钟内系统的平均负载值。
备注:我们着重看第一个值,它表示单位时间段内使用cpu的活动进程数(在这里其实就是一分钟内)值越大就说明服务器压力越大。一般情况下,这个值只要不超过服务器的cpu数量就没有关系,如果服务器的cpu数量为8,那么值小于就说明当前服务器没有压力,否则就要关注下。
1.1 查看服务器有几个CPU核数 (逻辑CPU)
这里的processor计数从0开始,也就是说第一个显示为0,第二个显示为1
命令:cat /proc/cpuinfo
1.1.1查看当前系统有几个cpu
命令:grep -c 'processor' /proc/cpuinfo
10.2 vmstat命令
一、1.vmstat命令的含义为显示虚拟内存状态(“Viryual Memor Statics”),它可以报告关于进程、内存、I/O等系统整体运行状态。让我们知道系统的使用瓶颈在哪里。
解释相关进程的作用,重点关注r、b、si、so、bi、bo这几列信息:
2. procs显示进程的相关信息。
2.1 r (run):表示运行或等待CPU时间片的进程数。说明:不要误以为等待CPU时间片意味着这个进程没有进行,实际上某一时刻一个CPU只能有一个进程,其他进程只能排着队等着,此时这些排队等待CPU资源的进程依然是运行状态。该数值如果长期大于服务器CPU的个数,则说明CPU资源不够用了。
2.2 b (block):表示等待资源的进程数,这个资源指的是I/O、内存等。举个例子:当磁盘读写非常频繁时,写数据就会非常慢,此时CPU运算很快就结束了,但进程需要把计算的结果写入磁盘,这样进程的任务才算完成,那此时这个进程只能慢慢地等待,这样这个进程就是这个b状态。该数值如果长时间大于1,则需要关注一下。
3. memory显示内存的相关信息
swpd:表示切换到交换分区中的内存数量,单位为KB。
free:表示当前空闲的内存数量,单位为KB。
buff:表示(即将写入磁盘的)缓冲大小,单位为KB。
cache:表示(从磁盘中读取的)缓存大小,单位为KB。
4. swap显示内存的交换情况。
si:表示由交换区写入内存的数据量,单位为KB。
so:表示由内存写入交换区的数据量,单位为KB。
5. io显示磁盘的使用情况。
bi:表示从块设备读取数据的量(读磁盘),单位为KB。
bo:表示从块设备写入数据的量(写磁盘),单位为KB。
6. system显示采集间隔内发生的中断次数。
in:表示在某一时间间隔内观测到的每秒设备的中断次数。
cs:表示每秒产生的上下文切换次数。
7. cpu显示CPU的使用状态。
us:显示用户下花费CPU的时间百分比。
sy:显示系统花费CPU的时间百分比。
id:表示CPU处于空闲状态的时间百分比。
wa:表示I/O等待所占用CPU的时间百分比。
st:表示被偷走的CPU所占百分比(一般都为0,不用关注)
二、关注r列,b列,和wa列
另外当si, so两列的数值比较高,并且在不断变化时,说明内存不够了
10.3 top命令
1.top命令查看进程使用资源情况
top命令用于动态监控进程所占的系统资源,每隔3秒变一次。它的特点是把占用系统资源(cpu、内存、硬盘I/O等)最高的进程放到最前面。
关注的也就是几项:%CPU, %MEM, COMMAND,load average,tasks
2.top -c 命令显示详细的进程命令信息
3. top -bn1 命令静态显示所有进程
备注:
q退出top,数字1显示所有核cpu
大写字母M按内存使用排序
大写字母P按cpu使用排序
kill+pid 杀死进程
RES表示进程占用的内存数量。
10.4 sar命令
1. sar监控系统状态(主要查看历史的网卡流量)
ar 命令很强大,被戏称为瑞士×××。它可以监控系统几乎所有资源的状态,比如平均负载、网上流量、磁盘状态,内存使用等。与其他系统状态监控工具不同,它主要可以打印历史信息,可以显示当天从零点开始到当前时刻的系统状态信息。
2. 使用yum安装sysstat获得,命令:yum install -y sysstat 安装
(初次使用sar命令会报错,那是因为sar工具还没有生成相应的数据库文件(每隔10分钟生成数据)。它的数据库文件在 “/var/log/sa/” 目录下,默认保存一个月 )
3. 查看网卡流量历史 命令:sar -n DEV
解释:
IFACE这一列表示设备名称.
rxpck/s这一列表示每秒进入收取的包的数量有多少。
txpck/s这一列表示每秒发送出去的包的数量有多少。
rxkB/s这一列表示每秒收取的数据量(单位为KB)。
txkB/S这一列表示每秒发送的数据量。
如果rxpck/s 那一列的数值大于4000,或者者rxkB/s那一列的数值大于50000000,很有可能是被攻击了,正常的服务器网卡流量不会这么高,除非是你自己在复制数据
4.实时查看网卡流量命令:sar -n DEV 1 5
5 查看某一天的网卡流量历史,.使用-f选项,后面跟文件名 (默认会存储30天)
命令:sar -n DEV -f /var/log/sa/sa30
(在Red Hat或者CentOS发行版中,sar的库文件一定在/var/log/sa/目录下)
6.查看历史负载 命令:sar -q
7.历史磁盘读写命令: sar -b
10.5 nload命令
1. sar虽然可以查看网卡流量,但是不够直观,还有一个更好用的工具,
那就是nload更直观的查看网卡进出流量
1.1 安装nload命令:
先安装: yum install -y epel-release 安装扩展源
再安装:yum install -y nload 因为nload依赖于epel-release。
1.2 使用命令:nload (按q退出界面)
说明:
Incoming为进入网卡的流量。
Outgoing为网卡出去的流量。
主要关注Curr那行的数据,其单位也可以动态自动调整。
按q退出该界面。
标签:linux
原文地址:http://blog.51cto.com/404006045/2112897