生产环境服务器变慢

Posted 亮子zl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了生产环境服务器变慢相关的知识,希望对你有一定的参考价值。

1.生产环境服务器变慢,诊断思路和性能评估谈谈?
     整机:top   uptime, 系统性能命令的精简版    load average:1 5 15 系统的平均负载值  3个值相加除3在乘100%如高于60%系统高
     CPU:vmstat 思得t   vmstat -n 2 3  
              每2秒采样一次  共记采样3次   procs(总进程)     memory(内存)   swap(交换空间)   io   system(系统)   cpu
                                         r(运行)  b(阻塞)
             procs
                1、r:运行和等待CPU时间片的进程数,原则上1核的CPU的运行队列不要超过2,整个系统的运行队列不能超过总核数的2倍。否则代表系统压过大
                2、b:等待资源的进程数,比如正在等待磁盘I/O、网络I/O等。
             CPU
                us:用户进程消耗CPU时间百分比,us值高,用户进程消耗CPU时间多,如果长期大于50%,优化程序;
                sy:内核进程消耗的cpu时间百分比;
                us: + sy 参考值为80%,如果us + sy 大于80%,说明可能存在CPU不足。
                id:处于空闲的CPU百分比
                wa:系统等待IO的CPU时间百分比
                st:来自于一个虚拟机偷取的CPU时间的百分比
                
     内存:free  -m 服蕊
              应用程序可用内存/系统物理内存>70%内存充足
              应用程序可用内存/系统物理内存<20%内存不足,需要增加内存
              20%<应用程序可用内存/系统物理内存<70%内存基本够用
           pidstat -p 进程号  -r 采样间隔秒数
     硬盘:df -h
     磁盘IO:iostat -xdk 2 3
     网络IO:ifstat

2.假如生产环境出现CPU占用过高,请谈谈你的分析思路和定位
    1、先用top命令找出CPU占比最高的
    2、ps -ef 或者 jps 进一步定位,得知是一个怎么样的一个后台程序
    3、定位到具体线程或者代码   ps -mp 进程 -o THREAD,tid,time
                                    -m 显示所有线程
                                    -p pid进程使用cpu的时间
                                    -o 该参数后是用户自定义格式
    4、将需要的线程ID转换为16进制格式(英文小写格式)
    5、jstack进程ID|grep tid(16进制线程ID小写英文)-A60

以上是关于生产环境服务器变慢的主要内容,如果未能解决你的问题,请参考以下文章

java中,生产环境服务器变慢,如何诊断处理?

Day492&493.尚硅谷之高频重点面试题④ -面经

JVM零碎知识

明白生产环境中的jvm参数

明白生产环境中的jvm参数

powershell 使用PowerShell设置Windows环境变量。适用范围:整机,所有用户。