系统级性能优化通常包括两个阶段:性能剖析(performance profiling)和代码优化。性能剖析的目标是寻找性能瓶颈,查找引发性能问题的原因及热点代码。代码优化的目标是针对具体性能问题而优化代码或编译选项,以改善软件性能。
以这台鲲鹏服务器为例,先查看自己操作系统的发行版本
(1)nmon:支持收集一段时间内,整机的CPU、磁盘、网络、内存等各项资源的使用情况。
(2)perf:Linux kernel自带的系统性能优化工具,获取指定进程内的调用情况、各线程调用的CPU资源消耗情况,并支持生成火焰图。
火焰图的生成过程是:
- 先trace系统,获取系统的profiling数据
- 用脚本来绘制
#脚本获取
git clone https://github.com/brendangregg/FlameGraph
(3)top:监控进程和整机的CPU、内存资源消耗情况,并支持查看每个CPU核的使用情况。
1.负载:时间,登陆用户数,系统平均负载;
2.cpu:用户态,核心态,NICE,空闲,等待IO,中断等;
3.进程:运行,睡眠,停止,僵尸;
4.内存:总量,已用,空闲(系统角度),缓冲,缓存;
5.交换分区:总量,已用,空闲
任务区域默认显示:进程ID,有效用户,进程优先级,NICE值,进程使用的虚拟内存,物理内存和共享内存,进程状态,CPU占用率,内存占用率,累计CPU时间,进程命令行信息。
(4)iostat:监控每块磁盘的读写次数、数据量大小、使用率。
iostat属于sysstat软件包,可以直接安装。
yum -y install sysstat
(5)sar:(System Activity Reporter系统活动情况报告)目前LINUX上最为全面的系统性能分析工具之一,监控每张网卡的网络IO读写次数和数据量大小。
先安装deltarpm再安装sar工具(sar也属于sysstat软件包,可以直接安装。)
yum install deltarpm
yum install sysstat
(6)dstat:监控系统整体的性能信息,包括CPU、磁盘、网络、分页等。输出是彩色的,可读性较强
安装dstat
yum install dstat-0.7.2-12.el7 -y
(7)htop:htop 是Linux系统中的一个互动的进程查看器,可以让用户交互式操作,支持颜色主题,可横向或纵向滚动浏览进程列表,并支持鼠标操作。
安装htop
yum install -y htop
htop优点:
▪ 在启动上,比top更快。
▪ 可以横向或者纵向滚动浏览进程列表,以便看到所有的进程和完整的命令行。
▪ 杀进程时不需要输入进程号。
▪ htop支持鼠标操作。