一、使用nload监控总体带宽使用情况
1.1安装nload
[root@120 ~]# yum install epel-release -y
[root@120 ~]# yum install nload -y
二、开始监控
[root@120 ~]# nload #开始监控
然后另一个终端上运行ab,开始测试:
[root@120 ~]# ab -n 1000 -c 2 http://www.baidu.com/index.html #产生一些测试数据
三、使用nethogs找出使用带宽最多的进程
3.1上传到nethogs到linux上:
[root@120 ~]# yum install epel-release nethogs -y
[root@120 ~]# nethogs 就可以看到
四、 查看系统整体运行状态
4.1 使用vmstat查看内存及系统整体运行状态
vmstat :命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,MEM内存使用,VMSwap虚拟内存交换情况,IO读写情况。
使用vmstat可以看到整个机器的CPU,内存,IO的使用情况,而不是单单看到各个进程的CPU使用率和内存使用率。 比top命令节省资源。
注:当机器运行比较慢时,建议大家使用vmstat查看运行状态,不需要使用top,因top使用资源比较多。
例:[root@120 ~]# vmstat
每一列参数作用:
r 运行状态的进程个数 。展示了正在执行和等待cpu资源的任务个数。当这个值超过了cpu个数,就会出现cpu瓶颈。
b 不可中断睡眠 正在进行i/o等待--阻塞状态的进程个数 进程读取外设上的数据,等待时
free 剩余内存,单位是KB
buffers #内存从磁盘读出的内容
cached #内存需要写入磁盘的内容
si swapin swap换入到内存
so swapout 内存换出到swap 换出的越多,内存越不够用
bi blockin 从硬盘往内存读。 单位是块。 把磁盘中的数据读入内存
bo blockout 从内存拿出到硬盘 (周期性的有值) 写到硬盘
#判断是读多还是写多,是否有i/o瓶颈
in 系统的中断次数,cpu调度的次数多
cs 每秒的上下文切换速度
CPU上下文切换--程序在运行的时候,CPU对每个程序切换的过程。
us 用户CPU时间
sy 系统CPU时间,如果太高,表示系统调用时间长,例如是IO操作频繁。
id 空闲 CPU时间,一般来说,id + us + sy = 100,一般我认为id是空闲CPU使用率,us是用户CPU使用率sy是系统CPU使用率。
wt 等待IO CPU时间。
st:Steal time 虚拟 CPU 等待实际 CPU 的时间的百分比
4.2 使用sar命令记录系统一段时间的运行状态
安装sar命令
[root@120 ~]# yum -y install sysstat
sysstat 工具包可以把检查到的信息保存下来,存在/var/log/sa目录下。 sar 默认显示每10分钟统计一次状态信息(从装sysstat包开始)
sar 命令行的常用格式: sar [options] [-A] [-o file] t [n]
在命令行中,n 和t 两个参数组合起来定义采样间隔和次数,t为采样间隔,是必须有的参数,n为采样次数,是可选的,默认值是1,-o file表示将命令结果以二进制格式存放在文件中,file 在此处不是关键字,是文件名。options 为命令行选项,sar命令的选项很多,
下面只列出常用选项:
-A:所有报告的总和。
-n:网络接口的情况。
-u:CPU利用率
-v:进程、I节点、文件和锁表状态。
-d:硬盘使用报告。
-r:没有使用的内存页面和硬盘块。
-g:串口I/O的情况。
-b:缓冲区使用情况。
-a:文件读写情况。
-c:系统调用情况。
-R:进程的活动情况。
-y:终端设备活动情况。
-w:系统交换活动。
-o 文件名:打印到屏幕并将采样结果以二进制形式存入当前目录下的文件中。
-f 文件名:查看之前保存的二进制文件。
-d 显示磁盘
-d 1 100 必须得指定次数
-c 每秒创建进程的个数
-i 1 10 指定时间间隔
-P 查看cpu
-r 查看内存
-w 每秒上下文切换次数
-o /cpu.sar 保存并显示
-f cpu.sar 读取
例1:每2秒采样一次,连续采样5次,观察CPU 的使用情况,并将采样结果以二进制形式存入当前目录下的文件cpu.sar中
[root@120 ~]# sar -u 2 5 -o cpu.sar #屏幕显示以一下内容,同时内容也会写到当前目录的./cpu.sar中
[root@120 ~]# sar -u 2 5 -o cpu.sar
在显示内容包括:
%usr:CPU处在用户模式下的时间百分比。
%sys:CPU处在系统模式下的时间百分比。
%iow:CPU等待输入输出完成时间的百分比。
%idle:CPU空闲时间百分比。
在所有的显示中,我们应主要注意%iow和%idle,%iow的值过高,表示硬盘存在I/O瓶颈,%idle值高,表示CPU较空闲,如果%idle值高但系统响应慢时,有可能是CPU等待分配内存,此时应加大内存容量。%idle值如果持续低于10,那么系统的CPU处理能力相对较低,表明系统中最需要解决的资源是CPU。
例:查看二进制文件cpu.sar中的内容
[root@120 ~]# sar -u -f cpu.sar
注:sar命令即可以实时采样,又可以对以往的采样结果进行查询。
4.3 查看sar 的计划任务并读取日志:
1、查看sar 的计划任务
[root@120 ~]# cat /etc/cron.d/sysstat
2、读取日志
[root@120 ~]# ls /var/log/sa #只要安装sar后就会定期收集系统信息
sa15 sa19
使用参数-n查看网络接口流量情况
[root@120 ~]# sar -n DEV -f /var/log/sa/sa04 #查看网络相关信息
3、查看内存和硬盘
[root@120 ~]# sar -r -f /var/log/sa/sa15
-r 查看内存
[root@120 ~]# sar -d -f /var/log/sa/sa15
-d:硬盘使用报告。
4、sar最大特点是可以监控所有状态,sar的其他使用方法如下:
sar -r 1 #查看内存
sar -n ALL #查看所有
sar -b 1 10 #缓冲区使用情况,每秒刷新一次,查看10次
sar -I ALL 1 10
sar -r -f /tmp/file -n -r -b -m
sar -s 15:00:00 -e 15:30:00 #查看某个时间段,系统运行情况
sar -s 15:00:00 -e 15:30:20 -f /var/log/sa/sa01
sar -r -s 15:00:00 -e 15:30:20 -f /var/log/sa/sa01
以上就是总结的linu调优思路和常用的调优工具。