linux服务器性能查看
1、查看内存使用情况:free -m,使用-m则以兆为单位,-h是以G为单位,也可加参数-s 5表示加一个延迟时间(单位:秒)连续运行
- 应用程序可用内存/系统物理内存>70%,表示系统内存资源非常充足,不影响系统性能;
- 应用程序可用内存/系统物理内存<20%,表示系统内存资源紧缺,需要增加系统内存;
- 20%<应用程序可用内存/系统物理内存<70%,表示系统内存资源基本能满足应用需求,暂时不影响系统性能
2、查看文件系统的磁盘空间占用情况:df -h
3、查看load average 数据,下面几个命令都可以:top、uptime、w

load average 的三个值分别指系统在最后 1/5/15分钟 的平均负载值,除以核数后小于0.7代表很轻松,大于1需要关注
load average 三值大小一般不能大于系统CPU的个数,一般建议 load < 核心数 * 0.7 表示很轻松。
以核心数为基准:比较 load average 与 /proc/cpuinfo 中的 processor 数量。load 长期维持在核心数左右 表示满负荷运转,可能需要关注
如系统有8个CPU,load average三值长期大于8,说明CPU很繁忙,负载很高,可能会影响系统性能,但偶尔大于8,一般不会影响系统性能。
如load average输出值小于CPU个数,则表示CPU有空闲时间片。如服务器是4 核 CPU,“小于 3”则意味着负载低于核心数,是相对健康的。
根据经验:我们应该把重点放在5/15分钟的平均负载,因为1分钟的平均负载太频繁,一瞬间的高并发就会导致该值的大幅度改变
4、sar:监控系统CPU性能数据,它可以收集和显示较长周期的数据
如:sar -u 3 5

%user列显示了用户进程消耗的CPU 时间百分比。
%nice列显示了运行正常进程所消耗的CPU 时间百分比。
%system列显示了系统进程消耗的CPU时间百分比。
%iowait列显示了IO等待所占用的CPU时间百分比
%steal列显示了在内存相对紧张的环境下pagein强制对不同的页面进行的steal操作 。
%idle列显示了CPU处在空闲状态的时间百分比
5、iostat:提供三个报告-CPU利用率、设备利用率和网络文件系统利用率,也可使用-c,-d和-h参数分别独立显示
如:iostat -d,可对磁盘的读写性能有一个基本的了解

如Blk_wrtn/s值很大,表示磁盘写操作频繁,考虑优化磁盘或程序,
如Blk_read/s值很大,表示磁盘直接读操作很多,可将读取的数据放入内存
规则遵循:长期的、超大的数据读写,肯定是不正常的,这种情况一定会影响系统性能
6、vmstat:提供当前CPU、IO、进程和内存使用率的快照,它和top命令类似,自动更新数据
如:vmstat 2 3

r--等待运行的进程数,这个值如果长期大于系统CPU的个数,说明CPU不足,需要增加CPU
b--在等待资源的进程数,比如正在等待I/O、或者内存交换等。
swpd--虚拟内存使用情况,单位为KB
us--cpu使用时间,用户进程消耗的CPU时间百分比。
us的值比较高时,说明用户进程消耗的cpu时间多,但是如果长期大于50%,就需要考虑优化程序或算法。
sy--cpu系统使用时间,内核进程消耗的CPU时间百分比。Sy的值较高时,说明内核消耗的CPU资源很多。
根据经验,us+sy的参考值为80%,如果us+sy大于 80%说明可能存在CPU资源不足
7、top:显示了那些使用最多CPU时间的进程(包括每个进程的各种信息,如运行用户,执行的命令等)

E 切换摘要区的数量单位,默认是KB,可切为M、G、T、P
e 切换进程详情区的数量单位,默认是KB,可切为M、G、T、P
n 10 进程详情区只展示cpu占比最高的10个进程(n 0切回展示全部)
s 10 刷新的时间间隔有默认3秒改为10秒
Load Average:除以 CPU核心数:< 0.7 良好,> 1.0 需要关注,> 5.0 严重过载
us:user,用户空间占用CPU百分比(应用程序消耗)
sy:system,内核空间占用CPU百分比
id:idle,空闲CPU百分比(越高越好),持续低于20%表示CPU紧张
wa:iowait,CPU等待I/O操作完成的时间(高值说明磁盘是瓶颈),持续高于10%说明磁盘I/O是瓶颈
Swap used:> 0 且持续增长说明物理内存不足
Zombie进程:出现大量僵尸进程说明程序有BUG
浙公网安备 33010602011771号