一 使用w查看系统负载
第一行表示的是:系统当前时间+系统已经启动了多长时间+目前登录的用户数+系统负载(1分钟、5分钟、15分钟)
系统负载:单位时间段内使用cpu的活动的进程有多少个
1分钟内系统负载最佳状态:跟系统有几个逻辑cpu有关系,查看cup数量的命令
# cat /proc/cpuinfo
上图表示有1个逻辑cpu,此时系统负载为1则为1分钟内系统负载的最佳状态;如果图中数字为1,则表示有2个逻辑cpu,以此类推
另外有一个命令也可以查看系统负载# uptime
二 vmstat命令
1、 # vmstat
此命令可以查看到进程、内存、虚拟磁盘交换分区、io、系统、cpu
2、# vmstat 1 //每1秒钟显示一次系统情况
可以使用ctrl+c终止此命令
3、# vmstat 1 5 //每1秒钟显示一次,总共显示5次
上面的结果我们需要关注的列:
r 、run,表示有多少个进程处于run的状态,处于排队中的进程都属于run状态
b、 block,表示被cpu以外的资源阻断、卡死了的进程有多少个
swpd 、如果这个数据持续变化,表示内存在跟交换分区频繁地交换数据,说明内存不够了
si、表示有多少KB的数据从swap进入内存中
so、表示有多少KB的数据从内存中流出
bi、 表示从磁盘出来进入到内存中,即读的数据量有多少,如果此数据量大,说明磁盘被频繁读,可能会造成b列增加
bo、表示写的数据量有多少
us、表示用户态的占用cpu资源的百分比,不会超过100,如果超过50说明cpu的资源不够用了
sy、表示系统本身占用的cpu的资源的百分比
id、idle表示空闲;us+sy+id=100
wa、wait等待cpu的百分比,如果值很大,说明cpu不够用
三 top命令
查看具体瓶颈进程
1、#top //3秒显示一次,动态的
上图中可以看出:
总共110个任务(进程),1个任务处于运行中,剩余的进程处于休眠状态
zombie:僵尸进程,主进程已经意外停止,剩下一些子进程
st:表示被偷走的cpu百分比,如果服务器做了虚拟化,那么一些子机会偷走主机的cpu
如果us长时间占用cpu超过60%,会使cpu匮乏,对cpu有害
进程排序:默认按cpu占用率排序,如果按下M键,则按照内存占用大小排序,再按下P,恢复为cpu排序
RES :物理内存大小,以KB为单位
按下数字1:显示所有cpu的占用率
按下q:退出top
2. # top -c //可以查看到全局的进程命令
3. # top -bn1 //静态的一次性地显示所有的信息,适合写脚本时使用
四 sar命令
1、按照sar命令的包
# yum install -y sysstat
2、# sar命令无效
sar命令后必须跟指定的选项或参数,否则会调用系统保留的历史文件 /var/log/sa,要想正常调用,必须等到10分钟的整数时间点才会有这个文件。
3、# sar -n DEV 1 10 //查看网卡流量
每隔1秒显示一次,总共显示10次
其中r表示recieve,t表示transport
rxpck表示接收到的数据包量,几千的数据包量属于正常的,如果上万就可能被攻击了,需要借用抓包工具查看
txpck表示传输出去的数据包量
rxkB表示接收到的数据量
txkB表示传输出去的数据量
4、# sar -n DEV 1 10 -f /var/log/sa/sa17 //17是当天的日期
/var/log/sa目录下的文件最多保留1个月
5、# sar -b //查看磁盘
6、sar17文件
当天/var/log/sa/目录下会生成sa17的二进制文件,第二天这个目录下会生成sar17的文件,可以cat查看
五 nload查看系统负载
1、安装
# yum install epel-release //安装nload前先要安装epel-release
# yum install nload
2、# nload // 运行此命令会出现动态的实时的系统负载情况
按左右方向键可以切换网卡,按q退出
有攻击时Incoming的流量会比较大,
占用带宽看的是Outgoing的流量