本文出自 “笨笨的笨笨2号” 博客,请务必保留此出处http://zhenjieli.blog.51cto.com/4080312/1049367
linux之系统监控
一、系统性能监控
系统性能以系统响应时间和系统吞吐量来分析,linux系统中有类似windows系统任务管理器的性能监控工具---系统监视器
1、内存监控(物理内存和虚拟内存,虚拟内存就死swap分区)使用工具vmstat(虚拟内存统计,可以通过安装关盘的软件包进行安装)
vmstat命令格式如下;vmstat [-a] [-n] [delay [count] ]
vmstat [-f ] [-s] [-m ]
vmstat [-S unit]
vmstat [-d]
vmstat [-p disk partition]
vmstat [-V]
例如:vmstat 5 10 就是以5秒为时间间隔,连续收集10次性能数据
内存监控关心的指标是:free (空闲内存) 、si (磁盘到内存交换页数) 、so (内存到磁盘交换页数kb/s)
2、cpu监控主要关注运行队列、cpu使用率、上下文切换这三个指标
每个cpu队列不要超过三个,双核处理器不要超过6个,cpu空闲率长期低于10%说明cpu资源紧张,过多的上下文切换会占很大开销
用vmstat命令查看cpu指标:r (队列等待进程数)、b(等待io进程数)、cs(每秒上下文切换次数)、us(用户使用cpu时间)、sy(系统使用cpu时间)、id(cpu空闲时间)、wa(等待io消耗cpu时间)。
对于多个磁盘的计算机,可以用mpstat命令查看每个cpu性能,
如:mpstat 2
3、磁盘监控 iostat是i/o statistics 输入输出统计的缩写,iostat对磁盘操纵活动监控,汇报磁盘活动统计,还能显示cpu使用情况,命令格式如下:iostat [ -c(cpu使用情况) |-d(磁盘使用情况)] [-k(kb/s) |-m (mb/s)] [ -t (结果中显示时间) ] [ -v] [-x ] [device [.....] | ALL] [-p (查看某一个分区的使用情况) [device |all ] ] [interval ] [cout ]
例如:iostat -t -d -k 5 以kb为单位,不显示cpu数据,每5秒刷新一次
4、网络监控
指标:网卡吞吐量是否过载以及网络是否稳定是否出新丢包的情况
命令:sar -n DEV 5 3
SAR 检查结果各字段含义:IFACE:网络接口名
rxpck/s:每秒接收数据包
txpck/s:每秒发送数据包
rxbyt/s:每秒接收的字节
txbyt/s:每秒发送的字节
rxcmp/s:每秒接收压缩数据包
txcmp/s:每秒发送压缩数据包
rxmcst/s:每秒接收多播数据包
命令:sar -n EDEV 5 3 查看网络错误统计信息
4、综合监控工具-----top -hv | -bcHisS -d -n -p [,pid .....]
参数-d 指定刷新时间间隔
-n 指定在刷新n次后退出
-u 只显示user用户进程信息
-p 只显示pid进程信息
top命令运行结果:
第2行:total当前进程数、、running正在运行进程数、、sleeping在休眠进程数、、stopped停止进程数、、zombie僵化进程数
第3行:us 、sy、ni改变过优先级的用户占cpu%、id、wa、hi硬件中断占cpu、si软件中断占cpu、st虚拟设备占cpu
第4行:total物理内存总量、used已用物理内存总量、free空闲虚拟内存、cached用作缓存的虚拟内存数量
二、日志监控
syslog的守护进程为syslogd ,默认开机自启(手工启动:/sbin/syslogd)。
修改该文件后重启syslogd进程:# killall -HUP sslogd
syslog中定义的日志位置及说明:
/va/log/message系统启动后信息和错误
/var/log/secure安全相关
/var/log/maillog邮件相关
/var/log/cron定时任务相关
/var/log/spooler UUCP和news设备相关
/var/log/boot.og守护进程启动和停止相关
syslog配置文件为/etc/syslog.conf,文件中记录了日志的信息来源、信息类型、保存位置
语法格式:【消息来源 . 消息级别】tab键间隔 【动作】;一行出现多个消息时用“;”间隔
消息来源:authpriv安全/授权消息 ; cron 定时任务 ; daemon 守护进程 ;ftp ftp守护进程 ; kern 内核信息;
lpr 打印机子系统 ; mail 邮件子系统 ; news 网络新闻子系统 ; syslog内部产生的消息;
user一般用户级别信息;uucp uucp子系统;local0-local7 本地用户。
消息级别:emerg最紧急;alert紧急;crit重要消息;err出错;warning警告;notice普通但重要;
info通知行消息;debug调试消息。
syslog消息向上匹配,用=进行指定。
*表示匹配所有来源和级别的消息; none表示忽略所有消息。
其它日志
/var/log/dmesg记录内核日志信息,设备消息及启动操作过程中的任何错误和问题信息
/var/log/wtmp和/var/log/btmp保存用户登录信息,wtmp记录成功记录;btmp记录失败记录“(二进制文件只能通过last和lastb查看)
每个用户主目录下 .bash-history文件,存放用户输入所有命令记录
例如查看sun用户操作记录:cat /home/sun/.bash-history
除此之外linux应用软件业会有自己的日志文件。日志文件会越积越大,应定期轮换日志文件。