linu 中常用的查看系统的命令、cpu、内存、网卡流量

查看cpu信息概要(ubuntu 、linux、centos):
#lscpu
Architecture:          x86_64                           #架构x86_64
CPU(s):                2                                   #逻辑cpu颗数是2
Thread(s) per core:    1                           #每个核心线程数是1                 
Core(s) per socket:    2                           #每个cpu插槽核数/每颗物理cpu核数是2
CPU socket(s):         1                            #cpu插槽数是1
Vendor ID:             GenuineIntel           #cpu厂商ID是GenuineIntel
CPU family:            6                              #cpu系列是6
Model:                 58                                #型号58
Stepping:              9                              #步进是9\k
CPU MHz:               800.000                 #cpu主频是800MHz
Virtualization:        VT-x                         #cpu支持的虚拟化技术VT-x
Hypervisor vendor: VMware #当前的平台
Virtualization type: full #支持虚拟化类型
L1d cache:             32K                         #一级缓存32K(表示cpu的L1数据缓存为32k)
L1i cache:             32K                          #一级缓存32K(具体为L1指令缓存为32K)
L2 cache:              3072K                      #二级缓存3072K
查看cpu运行模式

getconf LONG_BIT

32
(说明当前CPU运行在32bit模式下, 但不代表CPU不支持64bit)

getconf LONG_BIT

64
(说明当前CPU运行在64bit模式下, 但不代表CPU不支持32bit)

查看当前操作系统内核信息
# uname -a
Linux openstack 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
查看当前操作系统发行版信息
 #cat /etc/issue
CentOS release 6.5 (Final)
Kernel \r on an \m
监控系统状态
1.W
linux系统运维常用查询命令_第1张图片
时间,系统运行时间,登录用户数,平均负载:有三个值
1:1分钟内系统的平均负载值;
2:5分钟内系统的平均负载值;
3:15分钟系统的平均负载值;单位时间内CPU活动进程数,当然这个值越大就说明你的服务器压力越大,正常状态小于服务器CPU总数。

2.Vmstat
linux系统运维常用查询命令
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,不用关注);
常会关注r列,b列,和wa列。IO部分的bi,bo如果磁盘io压力很大时,这两列的数值会比较高。另外当si, so两列的数值比较高,并且在不断变化时,说明内存不够了,内存中的数据频繁交换到交换分区中,这往往对系统性能影响极大。
linux系统运维常用查询命令_第2张图片
’vmstat 1 5’ 表示每隔1秒钟打印一次系统状态,连续打印5次。
3.Top
linux系统运维常用查询命令_第3张图片
这个命令用于动态监控进程所占系统资源,每隔3秒变一次。这个命令的特点是把占用系统资源(CPU,内存,磁盘IO等)最高的进程放到最前面。top命令打印的信息系统负载(load average)、进程数(Tasks)、cpu使用情况、内存使用情况以及交换分区使用情况。
top命令时使用-bn1 这个组合选项,它表示非动态打印系统资源使用情况,可以用在脚本中
linux系统运维常用查询命令_第4张图片
-b : Batch mode operation
Starts top in ’Batch mode’, which could be useful for sending output from top to other programs or to a
file. In this mode, top will not accept input and runs until the iterations limit you’ve set with the ’-n’
command-line option or until killed.
-n : Number of iterations limit as: -n number
Specifies the maximum number of iterations, or frames, top should produce before ending.
•批量模式操作
从“批处理模式”开始,这可能是有用的,用于发送输出从顶部到其他程序或一个
文件。在这种模式下,顶部将不接受输入和运行,直到迭代限制,您已经设置的' - '
命令行选项或直到死亡。
•迭代次数限制为:-数
指定的迭代次数最多,或帧,在结束前应该产生。
4.Sar
linux系统运维常用查询命令_第5张图片
1)查看网卡流量信息
1.查看历史网卡流量信息 命令sar -n DEV
linux系统运维常用查询命令_第6张图片
IFACE:表示设备名称
rxpck/s 表示每秒进入收取的包的数量(单位Byte)
txpck/s 表示每秒发送出去的包的数量
rxbyt/s 表示每秒收取的数据量(单位Byte)
txbyt/s表示每秒发送的数据量
-A:所有报告的总和
-u:输出CPU使用情况的统计信息
-v:输出inode、文件和其他内核表的统计信息
-d:输出每一个块设备的活动信息
-r:输出内存和交换空间的统计信息
-b:显示I/O和传送速率的统计信息
-a:文件读写情况
-c:输出进程统计信息,每秒创建的进程数
-R:输出内存页面的统计信息
-y:终端设备活动情况
-w:输出系统交换活动信息
-o: -o log.txt 输出到当前目录中,将结果以文件的形式输出
如果有一天你所管理的服务器丢包非常严重,那么你就应该看一看这个网卡流量是否异常了,如果rxpck/s 那一列的数值大于4000,或者rxbyt/s那列大于5,000,000则很有可能是被***了或者在拷贝数据。
2.查看当前网卡流量 信息‘sar -n DEV 1 5‘
3.查看20号的网卡流量信息 ‘sar -n DEV -f /var/log/sa/sa20|more‘
2)查看历史负载 ‘sar -q’
linux系统运维常用查询命令_第7张图片
[root@master local]# sar -h
用法: sar [ 选项 ] [ <时间间隔> [ <次数> ] ]
主选项和报告:
-b I/O 和传输速率信息状况
-B 分页状况
-d 块设备状况
-I { <中断> | SUM | ALL | XALL }
中断信息状况
-m 电源管理信息状况
-n { <关键词> [,...] | ALL }
网络统计信息
关键词可以是:
DEV 网卡
EDEV 网卡 (错误)
NFS NFS 客户端
NFSD NFS 服务器
SOCK Sockets (套接字) (v4)
IP IP 流 (v4)
EIP IP 流 (v4) (错误)
ICMP ICMP 流 (v4)
EICMP ICMP 流 (v4) (错误)
TCP TCP 流 (v4)
ETCP TCP 流 (v4) (错误)
UDP UDP 流 (v4)
SOCK6 Sockets (套接字) (v6)
IP6 IP 流 (v6)
EIP6 IP 流 (v6) (错误)
ICMP6 ICMP 流 (v6)
EICMP6 ICMP 流 (v6) (错误)
UDP6 UDP 流 (v6)
-q 队列长度和平均负载
-r 内存利用率
-R 内存状况
-S 交换空间利用率
-u [ ALL ]
CPU 利用率
-v Kernel table 状况
-w 任务创建与系统转换统计信息
-W 交换信息
-y TTY 设备状况
5.Free
当前系统的总内存大小和使用的内存以及剩余内存的情况,-m以MB显示-g以GB显示。
linux系统运维常用查询命令
6.Ps
ps aux|grep sshd 加管道符和grep使用
linux系统运维常用查询命令_第8张图片
PID :进程的id,这个id很有用,在linux中内核管理进程就得靠pid来识别和管理某一个程,比如我想终止某一个进程,则用 ‘kill 进程的pid’,有时并不能杀掉,则需要加一个-9选项了’kill -9 进程pid’
STAT :表示进程的状态,进程状态分为以下几种
D  不能中断的进程(通常为IO)
R  正在运行中的进程
S  已经中断的进程,通常情况下,系统中大部分进程都是这个状态
T  已经停止或者暂停的进程,如果我们正在运行一个命令,比如说sleep 10,如果我们按一下ctrl -z 让他暂停,那么我们用ps查看就会显示T这个状态
W 这个好像是说,从内核2.6xx 以后,表示为没有足够的内存页分配
X  已经死掉的进程(这个好像从来不会出现)
Z  僵尸进程,杀不掉,打不死的垃圾进程,占系统一小点资源,不过没有关系。如果太多,就有问题了。一般不会出现。
<  高优先级进程
N  低优先级进程
L   在内存中被锁了内存分页
s   主进程
l   多线程进程
+  代表在前台运行的进程
7.netstat查看网络状况
netstat命令用来打印网络连接状况、系统所开放端口、路由表等信息
linux系统运维常用查询命令_第9张图片
netstat -lnp (打印当前网络状态以及系统启动哪些端口)
linux系统运维常用查询命令_第10张图片
netstat -an (打印网络连接状况)
配合grep和管道符来监控其他服务的具体信息例如netstat -an |grep 80