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
时间,系统运行时间,登录用户数,平均负载:有三个值
1:1分钟内系统的平均负载值;
2:5分钟内系统的平均负载值;
3:15分钟系统的平均负载值;单位时间内CPU活动进程数,当然这个值越大就说明你的服务器压力越大,正常状态小于服务器CPU总数。
2.Vmstat
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两列的数值比较高,并且在不断变化时,说明内存不够了,内存中的数据频繁交换到交换分区中,这往往对系统性能影响极大。
’vmstat 1 5’?表示每隔1秒钟打印一次系统状态,连续打印5次。
3.Top
这个命令用于动态监控进程所占系统资源,每隔3秒变一次。这个命令的特点是把占用系统资源(CPU,内存,磁盘IO等)最高的进程放到最前面。top命令打印的信息系统负载(load average)、进程数(Tasks)、cpu使用情况、内存使用情况以及交换分区使用情况。
top命令时使用-bn1?这个组合选项,它表示非动态打印系统资源使用情况,可以用在脚本中
-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
1)查看网卡流量信息
1.查看历史网卡流量信息?命令sar -n DEV
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’
[[email protected] 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显示。
6.Ps
ps aux|grep sshd 加管道符和grep使用
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命令用来打印网络连接状况、系统所开放端口、路由表等信息
netstat -lnp?(打印当前网络状态以及系统启动哪些端口)
netstat -an?(打印网络连接状况)
配合grep和管道符来监控其他服务的具体信息例如netstat -an |grep 80
原文地址:https://blog.51cto.com/7794482/2428223