2018-1-22 Linux学习笔记

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2018-1-22 Linux学习笔记相关的知识,希望对你有一定的参考价值。

10.1 使用w查看系统负载

  • w命令用于显示已经登陆系统的用户列表,并显示用户正在执行的指令。执行这个命令可得知目前登入系统的用户有那些人,以及他们正在执行的程序。单独执行w命令会显示所有的用户,也可指定用户名称,仅显示某位用户的相关信息。
    技术分享图片
  • 该命令显示的信息, 第一行从左面开始显示的信息依次为:运行命令时的时间,系统运行时间,登录用户数,平均负载。
  • 第二行开始以及下面所有的行,告诉我们的信息是,当前登录的都有哪些用户,以及他们是从哪里登录的等等(tty1之类是在服务器终端直接登录的用户,pts/0之类则是通过远程连接登录的用户)。其中应重点关注第一行中的 ‘load average:’ 后面的三个数值。
  • 第一个数值表示1分钟内系统的平均负载值;第二个数值表示5分钟内系统的平均负载值;第三个数值表示15分钟系统的平均负载值。这个值的意义是,单位时间段内CPU活动进程数。这个值越大说明你的服务器压力越大。一般情况下这个值只要不超过服务器的cpu数量就没有关系,如果服务器cpu数量为8,那么这个值若小于8,就说明当前服务器没有压力,否则就要关注一下了.

  • uptime命令也可以查看系统负载,但也仅有系统负载相关信息,不够w命令来的丰富.
    技术分享图片

备注:
cat /proc/cpuinfo ----->查看cpu核数
技术分享图片

10.2 vmstat命令

  • vmstat命令的含义为显示虚拟内存状态(“Viryual Memor Statics”),但是它可以报告关于进程、内存、I/O等系统整体运行状态。w 命令能查看系统整体上的负载,通过看那个数值可以知道当前系统有没有压力,但是具体是哪里(CPU, 内存,磁盘等)有压力就无法判断了。而通过 vmstat 就可以知道具体是哪里有压力。
  • vmstat命令打印的结果共分为6部分:procs, memory, swap, io, system, cpu. 要重点关注一下r b si so bi bo几列。
    技术分享图片
    1)procs 显示进程相关信息
    r :表示运行和等待cpu时间片的进程数,如果长期大于服务器cpu的个数,则说明cpu不够用了;
    b :表示等待资源的进程数,比如等待I/O, 内存等,这列的值如果长时间大于1,则需要关注一下了;
    2)memory 内存相关信息
    swpd :表示切换到交换分区中的内存数量 ;
    free :当前空闲的内存数量;
    buff :缓冲大小,(即将写入磁盘的);
    cache :缓存大小,(从磁盘中读取的);
    3)swap 内存交换情况
    si :由交换区写入到内存的数据量;
    so :由内存写入到交换区的数据量;
    4)io 磁盘使用情况
    bi :从块设备读取数据的量(读磁盘);
    bo: 从块设备写入数据的量(写磁盘);
    5)system 显示采集间隔内发生的中断次数
    in :表示在某一时间间隔中观测到的每秒设备中断数;
    cs :表示每秒产生的上下文切换次数;
    6)CPU 显示cpu的使用状态
    us :显示了用户下所花费 cpu 时间的百分比;
    sy :显示系统花费cpu时间百分比;
    id :表示cpu处于空闲状态的时间百分比;
    wa :表示I/O等待所占用cpu时间百分比;
    st :表示被偷走的cpu所占百分比(一般都为0,不用关注);

  • 使用 vmstat 查看系统状态的时候,通常都是使用这样的形式来看的:
    [[email protected] ~]# vmstat 1 5
    技术分享图片
    或者:
    [[email protected] ~]# vmstat 1
    前面表示,每隔一秒钟打印一次状态,共打印5次,而后面的表示每隔1秒打印一次状态,一直打印,除非我们按 Ctrl + c 结束
    技术分享图片

    10.3 top命令

  • top命令用于动态监控进程所占系统资源,每隔3秒变一次,该命令的特点是把占用系统资源(CPU,内存,磁盘IO等)最高的进程放到最前面.
  • top应重点查看的还是下半部分的进程使用系统资源详细状况,重点需要关注%CPU, %MEM, COMMAND几项 ,RES 这一项为进程所占内存大小,而 %MEM 为使用内存百分比.
  • 在 top 状态下,按 “shift + m”, 可以按照内存使用大小排序. 按 “shift + p”, 可以按照CPU使用大小排序. 按数字 ‘1’ 可以列出各颗cpu的使用状态。
    技术分享图片

top -bn1命令表示非动态打印系统资源使用情况,可以用在shell脚本中.和 top 命令唯一的区别就是, 它一次性全部把所有信息输出出来而非动态显示.
技术分享图片

10.4 sar命令

  • sar 命令可以监控系统所有资源状态,比如平均负载、网卡流量、磁盘状态、内存使用等等。它不同于其他系统状态监控工具的地方在于,它可以打印历史信息,可以显示当天从零点开始到当前时刻的系统状态信息。
  • 如果系统中没有安装这个命令,请使用 yum install -y sysstat 命令安装。
  • 初次使用sar命令会报错,那是因为sar工具还没有生成相应的数据库文件(可等约10分钟后再查看就不报错了).它的数据库文件在 “/var/log/sa/” 目录下,默认保存一个月.
  • /var/log/sa/目录下有类似sa22, sar22文件(此处仅为举例说明之用,其22表示日期22日),其区别是sa22是二进制文件,只能通过sar命令形式去查看,而sar22是可以直接通过cat命令来查看的.
    1)查看网卡流量 sar -n DEV
    技术分享图片
  • IFACE这列表示设备名称,rxpck/s 表示每秒进入收取的包的数量,txpck/s 表示每秒发送出去的包的数量,rxkB/s 表示每秒收取的数据量,txkB/s 表示每秒发送的数据量。如果有一天你所管理的服务器丢包非常严重,那么你就应该看一看这个网卡流量是否异常了.rxpck/s 数据量几千是比较正常的,上万啥的就要关注了,可能是被攻击了.正常的服务器网卡流量不会这么高,除非是你自己在拷贝数据.
  • 此外也可以查看某一天的网卡流量历史,使用-f选项,后面跟文件名
    sar -f /var/log/sa/saxx
    技术分享图片

2)查看历史负载 sar -q
这个命令用于查看服务器在过去的某个时间的负载状况.
技术分享图片


3) 查看磁盘读写 sar -a
这个命令用于查看磁盘读写状况.
技术分享图片

10.5 nload命令

nload命令也能用于动态查看当前网卡流量.默认nload命令是没安装的,需要先运行yum instal epel-release安装epel-release包后,再运行yum instal nload安装nload包.
技术分享图片
备注:
nload命令状态下, 可按q退出nload命令, 按左右方向键可在不同网卡中切换,以查看各网卡流量情况.

以上是关于2018-1-22 Linux学习笔记的主要内容,如果未能解决你的问题,请参考以下文章

linux学习笔记一

Linux学习笔记

Linux学习笔记

Linux学习笔记

Linux学习笔记(第一周)

Linux学习笔记