使用w命令查看当前系统的负载
备注:显示信息第一行从左到右依次是时间、系统运行时间、登录用户数量、平均负载(1、5、15分钟几个时间段)
登录用户、从哪里登录的、客户端从什么IP登录的、从几点登录的、空闲时间、终端下进程占用的时间、当前命令占用CPU的时间、当前执行的命令是什么
备注:load average的值越大就说明服务器压力越大。一般情况下,这个值只要不超过服务器的CPU数量
查看服务器有几个CPU。
CPU和物理CPU的个数的显示都是由0-?表示的。
备注:/porc/cpuinfo这个文件中记录了CPU的详细信息。目前市面上的服务器有很多是2颗多核CPU,在Linux看来,他就是2*n个CPU(这里的n为单颗物理CPU上有几核)。如果n是4,则查看这个文件时会显示8段信息,而最后一段信息的processor:后面会显示7。所以查看当前系统有几个CPU,我们可以使用命令:grep -c ‘processor’ /proc/cpuinfo。然而查看有几颗物理CPU时,则需要查看关键字physical id。
使用vmstat命令监控系统的状态
备注:
procs
r:表示有多少个任务在跑CPU。
b:表示任务处于阻塞的状态(等待)如果太大表示CPU处理性能很差。
memory
swpd:交换了多少信息,单位:字节如果长期较大表示内存不够了
free:表示内存剩余量。
buff:表示缓冲-->过程
cache:表示缓存-->暂存在内存中的数据
Swap-->交换分区
si:进入到内存里去
so:进入到交换分区中区
io-->表示对磁盘的读写
bi:进入到内存里去,从磁盘里出来-->读
bo:从内存中输出,进入到磁盘里去-->写
System-->与系统有关的
in:中断-->
cs:上下文切换-->在很短时间内进行了任务的交换1/100s
CPU-->CPU的使用情况
us:显示用户下所花费CPU的时间的百分比
sy:显示系统花费CPU时间的百分比
id:表示CPU处于空闲状态时间的百分比
wa:表示I/O等待所占用CPU的时间百分比
st:表示被偷走的CPU所占时间百分比(一般都为0,不用关注)
备注:命令w查看的系统整体上的负载,通过看那个数值可以知道当前系统有没有压力。但它无法判断具体是哪里(CPU、内存、磁盘等)有压力,所以就用到了vmstat。Vmstat命令打印的结果共6部分:procs、memory、swap、io、system、cpu。重点关注r、b、si、so、bi、bo信息。
实验:
我们使用vmstat查看系统状态时,通常使用如下的方式:
# vmstat 1 5
或
# vmstat 1
备注:前一条命令表示每隔1秒输出一次状态,共输出5次;后面一条命令表示每隔1秒输出一次状态且一直输出,除非按Ctrl+C键结束。
用top命令显示进程所占的系统资源
top命令用于动态监控进程所占的系统资源,每隔3秒变一次。它的特点是把占用系统资源(CPU、内存、磁盘I/O等)最高的进程放在最前面。top命令打印出来的信息很多,包括系统负载(load average)、进程数(Tasks)、CPU的使用情况、内存的使用情况以及交换分区的使用情况。用top重点看的还是下面的进程使用系统资源的详细情况,其中你需要关注%CPU、%MEM和COMMAND这几项的所代表的意义。RES这一项为进程所占内存的大小,而%MEM为使用内存的百分比。在top状态下,按Shift+m键可以按照内存使用大小进行排序。按数字1可以列出所有核CPU的使用状态,按q键退出top
命令top -bn1,它表示非动态打印系统资源的使用情况。
和top命令唯一的区别就是它是一次性输出所有信息而非动态显示。
用sar命令监控系统的状态
sar命令很强大,他可以监控系统几乎所有资源的状态,比如平局负载、网卡流量、磁盘状态、内存使用等。与其他系统状态监控工具不同,它可以打印历史信息,可以显示当天从零点开始到当前时刻的系统状态信息。
如果你的系统没有安装这个命令,使用命令yum install -y sysstat安装。
注意:初次使用sar命令会报错,那是因为sar工具还没有生成相应的数据库文件(无需实时监控,因为不用不用去查询哪个文件)。它的数据库文件在/var/log/sa目录下。
查看网卡流量sar -n DEV
备注:这个命令会把当天记录的网卡信息打印出来,每隔10分钟记录一次。
IFACE:表示设备名;rxpck/s表示每秒进入收取的包的数量;txpck/s:表示每秒发送出去的包的数量;rxkB/s:表示每秒进入收取的包的数量(单位为KB);txkB/s这一列表示每秒发送的数据量;
如果有一天服务器丢包非常严重,那么就该查一下网卡流量是否异常了,如果rxpck/s那一列在数值大于4000,或者rxkB/s那一列的数值大于5000000,很可能是被攻击了。正常的服务器流量不会这么高,除非你自己在复制数据。
另外也可以使用-f选项查看某一天的网卡流量历史,后面根文件名。在Red Hat或者CentOS发行版中,sar的库文件一定在/var/log/sa/目录下。
查看历史负载sar -q
这个命令有助于我们查看服务器在过去某个时间的负载状况。其实sar命令,只是为了查看网卡流量(这是非常有用的)。
用nload命令查看网卡流量
nload命令比sar命令查看起来更直观。
系统没有默认安装nload
yum install -y epel-release;yuminstall -y nload
备注:要想安装nload必须先安装epel-release
直接运行nload命令
备注:最上面一行为网卡名字以及IP地址,按向右箭头可以查看其他网卡的网络流量。输出结果分两部分,Incoming为进入网卡的流量,Outgoing为网卡出去的流量,主要关注Curr那行的数据,其单位也可以动态自动自动调整,按q退出该界面。
Linux系统管理
最新推荐文章于 2023-07-13 20:07:38 发布