CENTOS7-JAVA 높은 CPU 사용률 및 문제 해결 아날로그 수 (rpm)

환경

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 수준의 문제는 볼 수있다

 

추천

출처www.cnblogs.com/q149072205/p/11272364.html