zoukankan      html  css  js  c++  java
  • 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 

  • 相关阅读:
    【bug】Android版QQ浏览器广告过滤
    -_-#ueditor编辑器chrome浏览器下只能复制最后一行
    -_-#骗子
    -_-#URL区分大小写吗
    -_-#傻傻分不清楚
    -_-#【Canvas】绘制文本
    -_-#【JS Engine】
    -_-#【浏览器】
    -_-#【Canvas】导出在<canvas>元素上绘制的图像
    COGS——C 908. 校园网 || 洛谷——P 2746 [USACO5.3]校园网Network of Schools
  • 原文地址:https://www.cnblogs.com/muzisanshi/p/13181759.html
Copyright © 2011-2022 走看看