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性能优化(学习总结)的主要内容,如果未能解决你的问题,请参考以下文章