환경
centos7 1 원자력 2기가바이트
Java8
아날로그 높은 CPU를 차지
springboot라는 새로운 프로젝트 만들기를 JVM을 배우기
시뮬레이션 코드를 다음과 같이
수입 org.springframework.boot.SpringApplication; 수입 org.springframework.boot.autoconfigure.SpringBootApplication; 수입 org.springframework.web.bind.annotation.GetMapping; 수입 org.springframework.web.bind.annotation.RestController; @RestController @SpringBootApplication 공용 클래스 JvmLearnApplication { 공공 정적 무효 메인 (문자열 []에 args) { SpringApplication.run (JvmLearnApplication.class, 인수); } @GetMapping ( "CPU") 공공 무효의 CPU () { 동안 (사실) { } } }
곤포
프로젝트 루트 디렉토리에서 다음 명령을 실행합니다 :
MVN 깨끗한 패키지 -Dmaven.test.skip = TRUE
병 패키지를 시작합니다
nohup을 자바 -jar JVM을 배우기-0.0.1-SNAPSHOT.jar &
액세스
컬 로컬 호스트 : 8080 / CPU
조사
보기 높은 CPU 프로세스를 차지
상단
도는 다음과 Java 프로세스는 PID 7149으로 알 수있는 최고 점유 CPU가 98 %에 도달의
대부분의 CPU 자식 스레드를 소비하는 과정을보기
상단 -p 7149 -H
아래 : PID가 7166을 위해 볼 수는 97.7 %에 도달, 최고 - 쓰레드 CPU를 점유
가장 소비 CPU의 스레드 ID 16 진수 출력 변환
의 printf "%의 X \ 없음"7166
문제가 특정 모양이 쿼리 코드
jstack을 7149 | 그렙 1bfe -A (30)
도 다음과 : 라인 18 JVMLearnApplication 수준의 문제는 볼 수있다
십시오 : HTTPS : //www.cnblogs.com/zuidongfeng/p/10019262.html
환경
centos7 1 원자력 2기가바이트
Java8
아날로그 높은 CPU를 차지
springboot라는 새로운 프로젝트 만들기를 JVM을 배우기
시뮬레이션 코드를 다음과 같이
import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @RestController @SpringBootApplication public class JvmLearnApplication { public static void main(String[] args) { SpringApplication.run(JvmLearnApplication.class, args); } @GetMapping("cpu") public void cpu() { while (true) { } } }
打包
在项目根目录下执行如下命令:
mvn clean package -Dmaven.test.skip=true
启动jar包
nohup java -jar jvm-learn-0.0.1-SNAPSHOT.jar &
访问
curl localhost:8080/cpu
排查
보기 높은 CPU 프로세스를 차지
상단
도는 다음과 Java 프로세스는 PID 7149으로 알 수있는 최고 점유 CPU가 98 %에 도달의
대부분의 CPU 자식 스레드를 소비하는 과정을보기
상단 -p 7149 -H
아래 : PID가 7166을 위해 볼 수는 97.7 %에 도달, 최고 - 쓰레드 CPU를 점유
가장 소비 CPU의 스레드 ID 16 진수 출력 변환
의 printf "%의 X \ 없음"7166
문제가 특정 모양이 쿼리 코드
jstack을 7149 | 그렙 1bfe -A (30)
도 다음과 : 라인 18 JVMLearnApplication 수준의 문제는 볼 수있다