linux性能优化(学习总结)

Posted muzisanshi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux性能优化(学习总结)相关的知识,希望对你有一定的参考价值。

linux性能问题我们都可以从top着手

top反应了服务器的负载,任务,cpu,内存及各进程的情况。

技术图片

 

 技术图片

 

系统负载(load),反应服务器1,5,15分钟各个时间段的负载情况。

当load的值超出cpu总数的60%,系统负载过高。

技术图片

 

这列表示总的进程数,可能出现的问题是zombie(僵尸)进程过多。

在UNIX 系统中,一个进程结束了,但是他的父进程没有等待(调用wait / waitpid)他,那么他将变成一个僵尸进程。

我们通过pstree命令找到子进程的父进程,杀死父进程,就由Init进程来接管他,成为他的父进程,从而保证每个进程都会有一个父进程。

技术图片

 

关注的指标:

us用户进程

一般情况下都是us进程出现问题,当us使用率较高时,我们可以通过top下方的信息,观察各个进程cpu使用率,那些进程使用率较高。

也可通过pidstat命令观察各进程cpu使用情况。

mysqld进程cpu使用率非常高,使用mysql客户端登录,使用show processlist查看当前存在的会话是否有异常(性能语句为常见问题)。

如果是oracle的话,我们可以通过进程pid,再通过oracle的动态性能视图v$process关联v$session,查看会话具体的情况。

sy系统内核

可能引起的是上下文切换。

结合vmstat命令cs值分析问题。

pidstat -w查看各进程的上下文切换情况。

这类的问题碰到的比较少。

idle空闲

值愈高表示cpu约空闲

iowait

磁盘cpu使用率高,可也结合pidstat -d 命令查看各进程的io情况。

iotop命令查出当前io使用率较高的进程。

结合iostat -x 命令。

技术图片

该命令反应了磁盘的iops,吞吐量,响应时间,磁盘繁忙度。

我通常的判断标准(响应时间小于20ms),拿异常时间段的数据与历史进行比较。

hi硬中断

/proc/interrupts文件反应了中断的类型和次数。

si软中断

/proc/softirqs

 

技术图片

 

服务器内存的使用情况

结合free命令观察内存情况

技术图片

 

 通过vmstat命令实时监控是否是换入换出操作,swap换入换出比较频繁,内存可能出现瓶颈。

 

技术图片

 

top命令最下方的信息:

反应各个进程的cpu,内存情况,方便我们找出存在异常的进程。

 

如果服务器历史时间段出现性能问题。

如果本地没有部署服务器监控软件(zabbix),nmon,oswatch等

我们可以通过服务器自带的sar命令查看服务器各种资源信息(建议将sar收集时间改为1分钟,默认是10分钟)。

历史负载:sar -q

cpu:sar -u

io:sar -b sar -d

内存:sar -r sar -R

网络:sar -n 

以上是关于linux性能优化(学习总结)的主要内容,如果未能解决你的问题,请参考以下文章

PLSQL优化基础和性能优化 (学习总结)

如何学习Linux性能优化?

Linux性能优化从入门到实战:01 Linux性能优化学习路线

linux后台开发必知的io优化知识总结

开篇词 | 别再让Linux性能问题成为你的绊脚石

开篇词 | 别再让Linux性能问题成为你的绊脚石