1、监控系统的负载 

w    查看当前系统的负载,详细显示主机运行时间,登录用户数,系统平均负载信息;

uptime    查看当前系统的负载和主机运行时间,简单显示;

linux系统日常管理的命令_系统管理






显示说明:

17:30:02    //系统当前时间; 

up  8:06    //主机已运行时间,时间越大,说明机器越稳定。

3 users    //用户连接数(是总的连接数,不是用户数)

load average: 0.05, 0.08, 0.02    //系统平均负载,统计最近1,5,15分钟内系统的平均负载;

第二行开始以及下面所有的行,记录当前登录的用户,从哪里登录,登录的时间等等;


重点需要关注load average:指在特定时间间隔内运行队列中的平均进程数。  

第一个数值表示1分钟内系统的平均负载值;第二个数值表示5分钟内系统的平均负载值;第三个数值表示15分钟系统的平均负载值。这个值的意义是,单位时间段内CPU活动进程数。这个值越大就说明你的服务器压力越大。一般情况下这个值只要不超过服务器的cpu数量就没有关系,如果服务器cpu数量为8,那么这个值若小于8,就说明当前服务器没有压力,否则就要关注一下了。


cat /proc/cpuinfo    查看cpu的个数和核数 

processor    线程数,从0开始(比如8线程为0-7)

core id        核心数

[root@yonglinux ~]# cat /proc/cpuinfo |grep -c 'processor'
1
[root@yonglinux ~]# cat /proc/cpuinfo |grep -c 'core id'
1

linux系统日常管理的命令_netstat_02


2、监控系统进程状态 – top
用于动态监控进程所占系统资源,每隔3秒变一次。 

linux系统日常管理的命令_ps_03linux系统日常管理的命令_linux_04linux系统日常管理的命令_centos_05


Tasks    任务,类似于windows的进程;

running    正在运行的进程;

sleeping    休眠的进程;

stopped    暂停或停止的进程;

zombie    僵尸进程;

RES    这一项为进程所占内存大小;

%MEM    为使用内存百分比。

在 top状态下,默认按cpu的使用率大小排列,按 “shift + m”, 可以按照内存使用大小排序。按数字 ‘1’ 可以列出各颗cpu的使用状态。

top -bn1    表示非动态打印系统资源使用情况,可以用在shell脚本中。
top -c    动态显示,最右侧的命令可以显示更详细的信息。


3、实时监控系统状态    vmstat

vmstat    监控一次

vmstat  1    实时监控,1秒刷新一次,按ctrl+c退出;

vmstat 1 10    只监控10次;

linux系统日常管理的命令_centos_06


vmstat各指标含义:
r :表示运行和等待cpu时间片的进程数,如果长期大于服务器cpu的个数,则说明cpu不够用了;
b :表示等待资源的进程数,比如等待I/O, 内存等,这列的值如果长时间大于1,则需要关注一下了
si :由交换区进入内存的数量;
so :由内存进入交换区的数量;
bi :从块设备读取数据的量(读磁盘);
bo: 从块设备写入数据的量(写磁盘);
in :  每秒的中断次数,包含时钟中断;
cs :  每秒的上下文切换次数;
wa :表示I/O等待所占用cpu时间百分比.


4、查看系统内存使用情况    free

linux系统日常管理的命令_linux_07


free默认以k为单位显示;

free -m    以M为单位显示;

free -g    以G为单位显示;
mem(total):内存总数; 

mem(used):已经分配的内存;

mem(free):未分配的内存; 

mem(buffers):系统分配但未被使用的buffers;

mem(cached)系统分配但未被使用的cache;
buffers/cache(used):实际使用的buffers与cache 总量,也是实际使用的内存; 

buffers/cache(free):未被使用的buffers与cache和未被分配的内存之和,这就是系统当前实际可用内存;(如图所示,free+buffers+cached的总和为当前可用的实际内存)
buffers(缓冲区)是即将要被写入磁盘的,cache(缓存)是被从磁盘中读出来的;



5、查看系统进程    ps
ps aux   或     ps -elf    详细显示当前系统的所有进程状态
PID :进程的id,这个id很有用,在linux中内核管理进程就得靠pid来识别和管理某一个程(比如我想终止某一个进程,则用 ‘kill  进程的pid’ 有时并不能杀掉,则需要加一个-9选项了 kill  -9  进程pid)
STAT :表示进程的状态,进程状态分为以下几种
D    不能中断的进程(通常为IO)
R    正在运行中的进程
S    已经中断的进程,系统中大部分进程都是这个状态
T    已经停止或者暂停的进程,如果我们正在运行一个命令,比如说 sleep 10 如果我们按一下ctrl -z 让他暂停,那么我们用ps查看就会显示T这个状态
X    已经死掉的进程(这个从来不会出现)
Z    僵尸进程,杀不掉,打不死的垃圾进程,占系统一小点资源,不过没有关系。如果太多,就有问题了。
<    高优先级进程
N    低优先级进程
L    在内存中被锁了内存分页
s    主进程
l    多线程进程
+    在前台的进程


pstree    树形显示所有进程

linux系统日常管理的命令_系统管理_08


6、监控网卡流量、历史负载    sar

安装sar的命令:yum install -y sysstat

sar -n DEV        查看网卡流量 

sar -n DEV 1      实时监控网卡的流量,1秒刷新一次,按ctrl+c退出;

sar -n DEV 1 10    查看网卡的流量,1秒刷新一次,查看10次;
sar -n DEV -f /var/log/sa/sa16    查看系统日志里面保存的网卡流量信息,按照每天的日期命名;
查看历史负载  sar -q
查看磁盘读写  sar -b



7、查看网络状况    netstat 
netstat -lnp    查看当前系统开启的端口以及socket
netstat -an    查看当前系统所有的连接

linux系统日常管理的命令_系统管理_09

linux系统日常管理的命令_系统管理_10