怎么自己建一个网站,网站页面如何设计图,足球用品网络营销方式,昆山住房与城乡建设局官网关于top命令 经常问load average 参考#xff1a;load average 定义(网易面试)问题现象#xff1a;1#xff0c;top命令查询服务器负载达到2.0-5之间#xff0c;tomcat的cpu使用率达到104%load average:linux系统中的Load对当前CPU工作量的度量。简单的说是进程队列的长度。…关于top命令 经常问load average 参考load average 定义(网易面试)问题现象1top命令查询服务器负载达到2.0-5之间tomcat的cpu使用率达到104%load average:linux系统中的Load对当前CPU工作量的度量。简单的说是进程队列的长度。Load Average 就是一段时间 (1 分钟、5分钟、15分钟) 内平均 Load 。问题分析过程1)磁盘使用率未超出正常范围df -l2)内存使用率未超出正常范围还有空闲freefree -m 查看linux系统内存使用量和交换区使用量如图所示。3)服务器流量未现明显峰值4)jvm内存状态未现异常非GC原因至于具体的jstat jmap jstack 的使用情况综合初步预估是tomcat有线程一直在运行占用cpu资源问题引出如何确定tomcat的100%的cpu使用率到底问题在哪问题定位方案使用java提供的是jstack线程分析命令对进程里面的线程状态进行分析先导出线程快照再分析具体是那个线程及对应的类执行步骤第一步ps -ef|grep tomcat 查询出java/tomcat进程PID(eg:8209)第二步ps -aux 查询出该进程是哪个用户启动的(即使ROOT用户可能也导出线程快照失败)第三步su tomcat 切换到进程启动用户第四步jstack -l 8209 /usr/local/work/tomcat/8209.stack 导出PID对应的线程信息到文件第五步对导出的线程文件下载本地做分析(可以文本打开)第六步top -H -p 8209 命令查看对应进程是哪个线程占用CPU过高(eg:8308)第七步printf %x\n 8308 转换十进制为十六进制 此处为2074第八步在导出的堆栈文件中搜索线程ID等于nid0x2074的线程此处即列出了该线程对应的类第九步根据线程信息找到对应的类定位问题成功找到原因日志队列线程一直处于RUNNABLE状态一直在while循环判定队列是否为空