一个应用占用CPU很高,除了确实是计算密集型应用之外,通常原因都是出现了死循环。以我们最近出现的一个实际故障为例,介绍怎么定位和解决这类问题。 根据top命令,发现PID为28555的Java进程占用CPU高达200%,出现故障。 通过ps aux | grep PID命令,可以进一步确定是tomc ...
分类:
其他好文 时间:
2017-03-06 20:39:47
阅读次数:
216
jps是jdk提供的一个查看当前java进程的小工具,可以当作 Java Virtual Machine Process Status Tool的缩写 命令格式:jps [options ] [ hostid ] [options]选项 :-q:仅输出VM标识符,不包括classname,jar n ...
分类:
其他好文 时间:
2017-03-02 17:02:30
阅读次数:
283
格式: jstat -<option> <vmid> [<interval> [<count>]] 参数解释: Options — 选项,我们一般使用 -gcutil 查看gc情况 vmid — VM的进程号,即当前运行的java进程号 interval– 间隔时间,单位为秒或者毫秒 count — ...
分类:
Web程序 时间:
2017-02-21 15:51:33
阅读次数:
265
一、背景互联网发展的今天,很多问题都会在生产中遇到,假如某天发现系统资源中cpu占用100%,一直居高不下,那么就要进行问题查询了。二、解决思路1、查看那个java进程占用最多,top命令[root@iZ25fdlnov1Ztest]#top-H2、可以明显看到PID为29003的java进程占用cup最高,已占用..
分类:
编程语言 时间:
2017-02-13 00:32:22
阅读次数:
234
有时候我们会碰到下面这些问题: OutOfMemoryError,内存不足 内存泄露 线程死锁 锁争用(Lock Contention) Java进程消耗CPU过高 这些问题在日常开发中可能被很多人忽视(比如有的人遇到上面的问题只是重启服务器或者调大内存,而不会深究问题根源),但能够理解并解决这些问 ...
分类:
其他好文 时间:
2017-01-19 01:06:29
阅读次数:
210
对于linux中的上下文一直以来没有特别的关注其合理范围应该是多少(关于上下文切换的概念,网上已经有很多解释了,再次不再重复),白天偶尔注意到了一下,晚上特地看了下白天负载和和收盘后的负载如下(服务器1,8C/16GB,运行1个mysql,8个java进程,1个rabbitmq): 相应时间段的上下 ...
分类:
系统相关 时间:
2017-01-17 23:03:31
阅读次数:
431
JVM内存不足导致进程死掉. Native memory allocation (mmap) failed to map 一台服务器上部署很多JAVA进程已经是微服务的常态,但也有些坑。 背景,测试服务器上的一些JAVA进程突然挂掉,查看call back的日志发现如下: 很明显是由于服务器的内存不 ...
分类:
编程语言 时间:
2016-12-29 19:33:26
阅读次数:
3786
Spark 使用主从架构,有一个中心协调器和许多分布式worker。 中心协调器被称为driver。Driver 和被称为executor 的大量分布式worker 通信 Driver 运行在它自己的Java 进程,而每个executor 是单独的Java 进程。Driver 和它的所有execut ...
分类:
其他好文 时间:
2016-12-29 14:06:40
阅读次数:
182
由于线上服务不知道在什么时候会挂掉,所以写了一个监控tomcat进程的脚本。如果该进程不存在时,去启动该tomcat进程。#!/bin/bashsource/etc/profilesource~/.bash_profile#source/etc/profile~/.bash_profile这两句一定要加上,特别是在监控一些java进程的时候。pid=`ps-ef|gr..
分类:
系统相关 时间:
2016-12-26 19:20:27
阅读次数:
153
看端口: ps -aux | grep tomcat 发现并没有8080端口的Tomcat进程。 使用命令:netstat –apn 查看所有的进程和端口使用情况。发现下面的进程列表,其中最后一栏是PID/Program name 发现8080端口被PID为9658的Java进程占用。 进一步使用命 ...
分类:
系统相关 时间:
2016-12-17 22:52:11
阅读次数:
202